/* generated with gcc -fdump-ipa-all-graph */
digraph "rhp.c.086i.single-use" {
overlap=false;
subgraph "cluster_rhp_sorted_nodelist" {
	style="dashed";
	color="black";
	label="rhp_sorted_nodelist ()";
	subgraph cluster_75_3 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 3";
	labeljust=l;
	penwidth=2;
	fn_75_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|#\ spn_62\ =\ PHI\ \<spn_120(7),\ spn_141(8)\>\l\
|#\ num_65\ =\ PHI\ \<num_116(7),\ num_139(8)\>\l\
|if\ (spn_62\ !=\ 0B)\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_75_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|_8\ =\ spn_62-\>value;\l\
|nd_121\ =\ (struct\ rhpnode\ *)\ _8;\l\
|_9\ =\ nd_121-\>position;\l\
|_10\ =\ nd_121-\>level;\l\
|_11\ =\ nd_121-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ level\ %d\ pos\ %d\\n\",\ &__func__,\ _11,\ _10,\ _9);\l\
|nn_124\ =\ rhp_malloc\ (80,\ &__func__,\ 3755);\l\
|nn_124-\>num\ =\ num_65;\l\
|_12\ =\ nd_121-\>innum;\l\
|nn_124-\>innum\ =\ _12;\l\
|_13\ =\ nd_121-\>level;\l\
|nn_124-\>level\ =\ _13;\l\
|_14\ =\ nd_121-\>data;\l\
|nn_124-\>data\ =\ _14;\l\
|_15\ =\ nd_121-\>position;\l\
|nn_124-\>position\ =\ _15;\l\
|_16\ =\ nd_121-\>up_degree;\l\
|nn_124-\>up_degree\ =\ _16;\l\
|_17\ =\ nd_121-\>down_degree;\l\
|nn_124-\>down_degree\ =\ _17;\l\
|_18\ =\ nd_121-\>up_edges;\l\
|nn_124-\>up_edges\ =\ _18;\l\
|_19\ =\ nd_121-\>down_edges;\l\
|nn_124-\>down_edges\ =\ _19;\l\
|_20\ =\ nd_121-\>weight;\l\
|nn_124-\>weight\ =\ _20;\l\
|_21\ =\ nd_121-\>up_crossings;\l\
|nn_124-\>up_crossings\ =\ _21;\l\
|_22\ =\ nd_121-\>down_crossings;\l\
|nn_124-\>down_crossings\ =\ _22;\l\
|_23\ =\ nd_121-\>weight;\l\
|_24\ =\ nd_121-\>position;\l\
|_25\ =\ nd_121-\>level;\l\
|_26\ =\ nd_121-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ level\ %d\ pos\ %d\ weight\ %d\ at\ %d\\n\",\ &__func__,\ _26,\ _25,\ _24,\ _23,\ num_65);\l\
|nn.285_27\ =\ (long\ long\ int)\ nn_124;\l\
|_28\ =\ (long\ long\ int)\ num_65;\l\
|rhp_sp_master_node_list_sorted.286_29\ =\ rhp_sp_master_node_list_sorted;\l\
|rhp_sp_insert\ (rhp_sp_master_node_list_sorted.286_29,\ _28,\ nn.285_27);\l\
|num_139\ =\ num_65\ +\ 1;\l\
|_30\ =\ spn_62-\>key;\l\
|rhp_sp_master_node_list.287_31\ =\ rhp_sp_master_node_list;\l\
|spn_141\ =\ rhp_sp_next\ (rhp_sp_master_node_list.287_31,\ _30);\l\
}"];

	}
	subgraph cluster_75_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	subgraph cluster_75_2 {
	style="filled";
	color="darkgreen";
	fillcolor="grey77";
	label="loop 2";
	labeljust=l;
	penwidth=2;
	fn_75_basic_block_22 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 22\>:\l\
|#\ ii_64\ =\ PHI\ \<ii_91(20),\ ii_110(21)\>\l\
|#\ num_66\ =\ PHI\ \<num_68(20),\ num_109(21)\>\l\
|_60\ =\ lv_90-\>number_of_nodes;\l\
|if\ (ii_64\ \<\ _60)\l\
\ \ goto\ \<bb\ 21\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_75_basic_block_21 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 21\>:\l\
|_38\ =\ lv_90-\>nodes;\l\
|_39\ =\ (long\ unsigned\ int)\ ii_64;\l\
|_40\ =\ _39\ *\ 8;\l\
|_41\ =\ _38\ +\ _40;\l\
|nd_92\ =\ *_41;\l\
|nn_94\ =\ rhp_malloc\ (80,\ &__func__,\ 3823);\l\
|nn_94-\>num\ =\ num_66;\l\
|_42\ =\ nd_92-\>innum;\l\
|nn_94-\>innum\ =\ _42;\l\
|_43\ =\ nd_92-\>level;\l\
|nn_94-\>level\ =\ _43;\l\
|_44\ =\ nd_92-\>data;\l\
|nn_94-\>data\ =\ _44;\l\
|_45\ =\ nd_92-\>position;\l\
|nn_94-\>position\ =\ _45;\l\
|_46\ =\ nd_92-\>up_degree;\l\
|nn_94-\>up_degree\ =\ _46;\l\
|_47\ =\ nd_92-\>down_degree;\l\
|nn_94-\>down_degree\ =\ _47;\l\
|_48\ =\ nd_92-\>up_edges;\l\
|nn_94-\>up_edges\ =\ _48;\l\
|_49\ =\ nd_92-\>down_edges;\l\
|nn_94-\>down_edges\ =\ _49;\l\
|_50\ =\ nd_92-\>weight;\l\
|nn_94-\>weight\ =\ _50;\l\
|_51\ =\ nd_92-\>up_crossings;\l\
|nn_94-\>up_crossings\ =\ _51;\l\
|_52\ =\ nd_92-\>down_crossings;\l\
|nn_94-\>down_crossings\ =\ _52;\l\
|_53\ =\ nd_92-\>weight;\l\
|_54\ =\ nd_92-\>position;\l\
|_55\ =\ nd_92-\>level;\l\
|_56\ =\ nd_92-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ level\ %d\ pos\ %d\ weight\ %d\ at\ %d\\n\",\ &__func__,\ _56,\ _55,\ _54,\ _53,\ num_66);\l\
|nn.289_57\ =\ (long\ long\ int)\ nn_94;\l\
|_58\ =\ (long\ long\ int)\ num_66;\l\
|rhp_sp_master_node_list_sorted.290_59\ =\ rhp_sp_master_node_list_sorted;\l\
|rhp_sp_insert\ (rhp_sp_master_node_list_sorted.290_59,\ _58,\ nn.289_57);\l\
|num_109\ =\ num_66\ +\ 1;\l\
|ii_110\ =\ ii_64\ +\ 1;\l\
}"];

	}
	fn_75_basic_block_24 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 24\>:\l\
|#\ i_63\ =\ PHI\ \<i_87(11),\ i_115(23)\>\l\
|#\ num_68\ =\ PHI\ \<num_84(11),\ num_67(23)\>\l\
|rhp_nlevels.291_61\ =\ rhp_nlevels;\l\
|if\ (i_63\ \<\ rhp_nlevels.291_61)\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 25\>;\ [INV]\l\
}"];

	fn_75_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|_33\ =\ (long\ long\ int)\ i_63;\l\
|rhp_sp_layers.288_34\ =\ rhp_sp_layers;\l\
|spn_89\ =\ rhp_sp_lookup\ (rhp_sp_layers.288_34,\ _33);\l\
|if\ (spn_89\ ==\ 0B)\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_75_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|rhp_log\ (\"%s():\ no\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ i_63);\l\
|//\ predicted\ unlikely\ by\ continue\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_75_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|_35\ =\ spn_89-\>value;\l\
|lv_90\ =\ (struct\ rhplevel\ *)\ _35;\l\
|if\ (lv_90\ ==\ 0B)\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 16\>;\ [INV]\l\
}"];

	fn_75_basic_block_23 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 23\>:\l\
|#\ num_67\ =\ PHI\ \<num_68(13),\ num_68(15),\ num_68(17),\ num_68(19),\ num_66(22)\>\l\
|i_115\ =\ i_63\ +\ 1;\l\
}"];

	fn_75_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ i_63);\l\
|//\ predicted\ unlikely\ by\ continue\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_75_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|_36\ =\ lv_90-\>nodes;\l\
|if\ (_36\ ==\ 0B)\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_75_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|rhp_log\ (\"%s():\ no\ data\ for\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ i_63);\l\
|//\ predicted\ unlikely\ by\ continue\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_75_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|_37\ =\ lv_90-\>number_of_nodes;\l\
|if\ (_37\ ==\ 0)\l\
\ \ goto\ \<bb\ 19\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 20\>;\ [INV]\l\
}"];

	fn_75_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ i_63);\l\
|//\ predicted\ unlikely\ by\ continue\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_75_basic_block_20 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 20\>:\l\
|ii_91\ =\ 0;\l\
goto\ \<bb\ 22\>;\ [INV]\l\
}"];

	}
	fn_75_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_75_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_75_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_74\ =\ 0B;\l\
|lv_75\ =\ 0B;\l\
|nd_76\ =\ 0B;\l\
|nn_77\ =\ 0B;\l\
|i_78\ =\ 0;\l\
|ii_79\ =\ 0;\l\
|num_80\ =\ 0;\l\
|rhp_nlevels.280_1\ =\ rhp_nlevels;\l\
|rhp_log\ (\"%s():\ %d\ levels\\n\",\ &__func__,\ rhp_nlevels.280_1);\l\
|rhp_nlevels.281_2\ =\ rhp_nlevels;\l\
|if\ (rhp_nlevels.281_2\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_75_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ no\ levels\ shouldnothappen!\\n\",\ &__func__);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_75_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.282_3\ =\ rhp_sp_master_node_list;\l\
|_4\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.282_3);\l\
|if\ (_4\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_75_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ no\ node\ data\ shouldnothappen!\\n\",\ &__func__);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_75_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_nlevels.283_5\ =\ rhp_nlevels;\l\
|if\ (rhp_nlevels.283_5\ ==\ 1)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_75_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|num_116\ =\ 0;\l\
|_6\ =\ rhp_sp_new\ (1);\l\
|rhp_sp_master_node_list_sorted\ =\ _6;\l\
|rhp_sp_master_node_list.284_7\ =\ rhp_sp_master_node_list;\l\
|spn_120\ =\ rhp_sp_min\ (rhp_sp_master_node_list.284_7);\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_75_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_75_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|num_84\ =\ 0;\l\
|_32\ =\ rhp_sp_new\ (1);\l\
|rhp_sp_master_node_list_sorted\ =\ _32;\l\
|i_87\ =\ 0;\l\
goto\ \<bb\ 24\>;\ [INV]\l\
}"];

	fn_75_basic_block_25 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 25\>:\l\
}"];

	fn_75_basic_block_26 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 26\>:\l\
|\<L24\>:\l\
|return;\l\
}"];

	fn_75_basic_block_0:s -> fn_75_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_2:s -> fn_75_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_2:s -> fn_75_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_3:s -> fn_75_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_4:s -> fn_75_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_4:s -> fn_75_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_5:s -> fn_75_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_6:s -> fn_75_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_6:s -> fn_75_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_7:s -> fn_75_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_8:s -> fn_75_basic_block_9:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_75_basic_block_9:s -> fn_75_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_9:s -> fn_75_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_10:s -> fn_75_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_11:s -> fn_75_basic_block_24:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_12:s -> fn_75_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_12:s -> fn_75_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_13:s -> fn_75_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_14:s -> fn_75_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_14:s -> fn_75_basic_block_16:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_15:s -> fn_75_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_16:s -> fn_75_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_16:s -> fn_75_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_17:s -> fn_75_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_18:s -> fn_75_basic_block_19:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_18:s -> fn_75_basic_block_20:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_19:s -> fn_75_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_20:s -> fn_75_basic_block_22:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_21:s -> fn_75_basic_block_22:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_75_basic_block_22:s -> fn_75_basic_block_21:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_22:s -> fn_75_basic_block_23:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_23:s -> fn_75_basic_block_24:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_75_basic_block_24:s -> fn_75_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_24:s -> fn_75_basic_block_25:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_25:s -> fn_75_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_75_basic_block_26:s -> fn_75_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_75_basic_block_0:s -> fn_75_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_layersort" {
	style="dashed";
	color="black";
	label="rhp_layersort ()";
	fn_74_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_74_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_74_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_8\ =\ 0B;\l\
|rl_9\ =\ 0B;\l\
|_1\ =\ (long\ long\ int)\ level_10(D);\l\
|rhp_sp_layers.279_2\ =\ rhp_sp_layers;\l\
|spn_13\ =\ rhp_sp_lookup\ (rhp_sp_layers.279_2,\ _1);\l\
|if\ (spn_13\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_74_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ could\ not\ find\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ level_10(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_74_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_3\ =\ spn_13-\>value;\l\
|rl_14\ =\ (struct\ rhplevel\ *)\ _3;\l\
|_4\ =\ rl_14-\>number_of_nodes;\l\
|_5\ =\ (long\ unsigned\ int)\ _4;\l\
|_6\ =\ rl_14-\>nodes;\l\
|qsort\ (_6,\ _5,\ 8,\ rhp_compare_weights);\l\
|rhp_updatenodepositions\ (level_10(D));\l\
|rhp_log\ (\"%s():\ sorted\ level\ %d\ and\ updated\ node\ positions\\n\",\ &__func__,\ level_10(D));\l\
}"];

	fn_74_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|\<L2\>:\l\
|return;\l\
}"];

	fn_74_basic_block_0:s -> fn_74_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_74_basic_block_2:s -> fn_74_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_74_basic_block_2:s -> fn_74_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_74_basic_block_3:s -> fn_74_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_74_basic_block_4:s -> fn_74_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_74_basic_block_5:s -> fn_74_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_74_basic_block_0:s -> fn_74_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_compare_weights" {
	style="dashed";
	color="black";
	label="rhp_compare_weights ()";
	fn_73_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_73_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_73_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|entry_ptr_i_10\ =\ 0B;\l\
|entry_ptr_j_11\ =\ 0B;\l\
|node_i_12\ =\ 0B;\l\
|node_j_13\ =\ 0B;\l\
|diff_14\ =\ 0;\l\
|entry_ptr_i_16\ =\ ptr_i_15(D);\l\
|entry_ptr_j_18\ =\ ptr_j_17(D);\l\
|node_i_20\ =\ *entry_ptr_i_16;\l\
|node_j_21\ =\ *entry_ptr_j_18;\l\
|_1\ =\ node_i_20-\>weight;\l\
|_2\ =\ node_j_21-\>weight;\l\
|_3\ =\ _1\ \>\ _2;\l\
|diff_22\ =\ (int)\ _3;\l\
|if\ (diff_22\ \<\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_73_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|diff_23\ =\ -diff_22;\l\
}"];

	fn_73_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|#\ diff_8\ =\ PHI\ \<diff_22(2),\ diff_23(3)\>\l\
|if\ (diff_8\ \<=\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_73_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_27\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_73_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_4\ =\ node_i_20-\>weight;\l\
|_5\ =\ node_j_21-\>weight;\l\
|if\ (_4\ \>\ _5)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_73_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_26\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_73_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|_6\ =\ node_i_20-\>weight;\l\
|_7\ =\ node_j_21-\>weight;\l\
|if\ (_6\ \<\ _7)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_73_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_25\ =\ -1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_73_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_24\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
}"];

	fn_73_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ _9\ =\ PHI\ \<_27(5),\ _26(7),\ _25(9),\ _24(10)\>\l\
|\<L8\>:\l\
|return\ _9;\l\
}"];

	fn_73_basic_block_0:s -> fn_73_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_73_basic_block_2:s -> fn_73_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_73_basic_block_2:s -> fn_73_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_73_basic_block_3:s -> fn_73_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_73_basic_block_4:s -> fn_73_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_73_basic_block_4:s -> fn_73_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_73_basic_block_5:s -> fn_73_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_73_basic_block_6:s -> fn_73_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_73_basic_block_6:s -> fn_73_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_73_basic_block_7:s -> fn_73_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_73_basic_block_8:s -> fn_73_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_73_basic_block_8:s -> fn_73_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_73_basic_block_9:s -> fn_73_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_73_basic_block_10:s -> fn_73_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_73_basic_block_11:s -> fn_73_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_73_basic_block_0:s -> fn_73_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_node_weight" {
	style="dashed";
	color="black";
	label="rhp_node_weight ()";
	subgraph cluster_72_2 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 2";
	labeljust=l;
	penwidth=2;
	fn_72_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ total_of_positions_34\ =\ PHI\ \<total_of_positions_33(9),\ total_of_positions_55(10)\>\l\
|#\ adj_index_37\ =\ PHI\ \<adj_index_54(9),\ adj_index_56(10)\>\l\
|_23\ =\ node_46(D)-\>up_degree;\l\
|if\ (adj_index_37\ \<\ _23)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_72_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_16\ =\ node_46(D)-\>up_edges;\l\
|_17\ =\ (long\ unsigned\ int)\ adj_index_37;\l\
|_18\ =\ _17\ *\ 8;\l\
|_19\ =\ _16\ +\ _18;\l\
|_20\ =\ *_19;\l\
|_21\ =\ _20-\>up_node;\l\
|_22\ =\ _21-\>position;\l\
|total_of_positions_55\ =\ total_of_positions_34\ +\ _22;\l\
|adj_index_56\ =\ adj_index_37\ +\ 1;\l\
}"];

	}
	subgraph cluster_72_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_72_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|#\ total_of_positions_32\ =\ PHI\ \<total_of_positions_43(5),\ total_of_positions_51(6)\>\l\
|#\ adj_index_36\ =\ PHI\ \<adj_index_50(5),\ adj_index_52(6)\>\l\
|_15\ =\ node_46(D)-\>down_degree;\l\
|if\ (adj_index_36\ \<\ _15)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_72_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_8\ =\ node_46(D)-\>down_edges;\l\
|_9\ =\ (long\ unsigned\ int)\ adj_index_36;\l\
|_10\ =\ _9\ *\ 8;\l\
|_11\ =\ _8\ +\ _10;\l\
|_12\ =\ *_11;\l\
|_13\ =\ _12-\>down_node;\l\
|_14\ =\ _13-\>position;\l\
|total_of_positions_51\ =\ total_of_positions_32\ +\ _14;\l\
|adj_index_52\ =\ adj_index_36\ +\ 1;\l\
}"];

	}
	fn_72_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_72_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_72_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|total_degree1_40\ =\ 0;\l\
|total_degree2_41\ =\ 0;\l\
|total_degree_42\ =\ 0;\l\
|total_of_positions_43\ =\ 0;\l\
|adj_index_44\ =\ 0;\l\
|_1\ =\ node_46(D)-\>down_degree;\l\
|_2\ =\ node_46(D)-\>up_degree;\l\
|_3\ =\ node_46(D)-\>innum;\l\
|rhp_log\ (\"%s():\ at\ node\ %d\ up\ degree\ %d\ down\ degree\ %d\ mode\ %d\\n\",\ &__func__,\ _3,\ _2,\ _1,\ orientation_47(D));\l\
|_4\ =\ node_46(D)-\>up_degree;\l\
|_5\ =\ node_46(D)-\>down_degree;\l\
|_6\ =\ _4\ +\ _5;\l\
|if\ (_6\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_72_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|node_46(D)-\>weight\ =\ 0;\l\
|_7\ =\ node_46(D)-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ has\ weight\ set\ (0)\ isolated\ node\ special\ mode\ %d\\n\",\ &__func__,\ _7,\ orientation_47(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 16\>;\ [INV]\l\
}"];

	fn_72_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|if\ (orientation_47(D)\ !=\ 1)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_72_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|total_degree1_49\ =\ node_46(D)-\>down_degree;\l\
|adj_index_50\ =\ 0;\l\
goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_72_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ total_degree1_30\ =\ PHI\ \<total_degree1_40(4),\ total_degree1_49(7)\>\l\
|#\ total_of_positions_33\ =\ PHI\ \<total_of_positions_43(4),\ total_of_positions_32(7)\>\l\
|if\ (orientation_47(D)\ !=\ 0)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_72_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|total_degree2_53\ =\ node_46(D)-\>up_degree;\l\
|adj_index_54\ =\ 0;\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_72_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|#\ total_degree2_31\ =\ PHI\ \<total_degree2_41(8),\ total_degree2_53(11)\>\l\
|#\ total_of_positions_35\ =\ PHI\ \<total_of_positions_33(8),\ total_of_positions_34(11)\>\l\
|total_degree_57\ =\ total_degree1_30\ +\ total_degree2_31;\l\
|if\ (total_degree_57\ \>\ 0)\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_72_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|_24\ =\ total_of_positions_35\ *\ 100;\l\
|node_46(D)-\>weight\ =\ _24;\l\
|_25\ =\ node_46(D)-\>weight;\l\
|_26\ =\ _25\ /\ total_degree_57;\l\
|node_46(D)-\>weight\ =\ _26;\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_72_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|node_46(D)-\>weight\ =\ -1;\l\
|_27\ =\ node_46(D)-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ has\ weight\ set\ (-1)\ special\ degree=(%d+%d)\ mode\ %d\\n\",\ &__func__,\ _27,\ total_degree1_30,\ total_degree2_31,\ orientation_47(D));\l\
}"];

	fn_72_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|_28\ =\ node_46(D)-\>weight;\l\
|_29\ =\ node_46(D)-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ has\ now\ weight\ %d\ mode\ %d\\n\",\ &__func__,\ _29,\ _28,\ orientation_47(D));\l\
}"];

	fn_72_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|\<L15\>:\l\
|return;\l\
}"];

	fn_72_basic_block_0:s -> fn_72_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_72_basic_block_2:s -> fn_72_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_2:s -> fn_72_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_3:s -> fn_72_basic_block_16:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_72_basic_block_4:s -> fn_72_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_4:s -> fn_72_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_5:s -> fn_72_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_72_basic_block_6:s -> fn_72_basic_block_7:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_72_basic_block_7:s -> fn_72_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_7:s -> fn_72_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_8:s -> fn_72_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_8:s -> fn_72_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_9:s -> fn_72_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_72_basic_block_10:s -> fn_72_basic_block_11:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_72_basic_block_11:s -> fn_72_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_11:s -> fn_72_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_12:s -> fn_72_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_12:s -> fn_72_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_13:s -> fn_72_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_72_basic_block_14:s -> fn_72_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_72_basic_block_15:s -> fn_72_basic_block_16:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_72_basic_block_16:s -> fn_72_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_72_basic_block_0:s -> fn_72_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_barycenterweights_adjust" {
	style="dashed";
	color="black";
	label="rhp_barycenterweights_adjust ()";
	subgraph cluster_71_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_71_basic_block_22 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 22\>:\l\
|#\ i_56\ =\ PHI\ \<i_75(4),\ i_90(21)\>\l\
|_51\ =\ rl_72-\>number_of_nodes;\l\
|if\ (i_56\ \<\ _51)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_71_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_5\ =\ rl_72-\>nodes;\l\
|_6\ =\ (long\ unsigned\ int)\ i_56;\l\
|_7\ =\ _6\ *\ 8;\l\
|_8\ =\ _5\ +\ _7;\l\
|_9\ =\ *_8;\l\
|_10\ =\ _9-\>weight;\l\
|if\ (_10\ ==\ -1)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 21\>;\ [INV]\l\
}"];

	fn_71_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_11\ =\ rl_72-\>nodes;\l\
|_12\ =\ (long\ unsigned\ int)\ i_56;\l\
|_13\ =\ _12\ *\ 8;\l\
|_14\ =\ _11\ +\ _13;\l\
|node_76\ =\ *_14;\l\
|rhp_adjustweight.278_15\ =\ rhp_adjustweight;\l\
|if\ (rhp_adjustweight.278_15\ !=\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_71_basic_block_21 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 21\>:\l\
|i_90\ =\ i_56\ +\ 1;\l\
}"];

	fn_71_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|number_of_weights_80\ =\ 0;\l\
|total_weight_81\ =\ 0;\l\
}"];

	fn_71_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|if\ (i_56\ \<=\ 0)\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_71_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|if\ (i_56\ \>\ 0)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_71_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|node_76-\>weight\ =\ 0;\l\
goto\ \<bb\ 20\>;\ [INV]\l\
}"];

	fn_71_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|_43\ =\ rl_72-\>nodes;\l\
|_44\ =\ (long\ unsigned\ int)\ i_56;\l\
|_45\ =\ _44\ *\ 8;\l\
|_46\ =\ _45\ +\ 18446744073709551608;\l\
|_47\ =\ _43\ +\ _46;\l\
|_48\ =\ *_47;\l\
|_49\ =\ _48-\>weight;\l\
|node_76-\>weight\ =\ _49;\l\
}"];

	fn_71_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|number_of_weights_82\ =\ number_of_weights_80\ +\ 1;\l\
|_16\ =\ rl_72-\>nodes;\l\
|_17\ =\ (long\ unsigned\ int)\ i_56;\l\
|_18\ =\ _17\ *\ 8;\l\
|_19\ =\ _18\ +\ 18446744073709551608;\l\
|_20\ =\ _16\ +\ _19;\l\
|_21\ =\ *_20;\l\
|_22\ =\ _21-\>weight;\l\
|total_weight_83\ =\ total_weight_81\ +\ _22;\l\
}"];

	fn_71_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ number_of_weights_52\ =\ PHI\ \<number_of_weights_80(8),\ number_of_weights_82(9)\>\l\
|#\ total_weight_54\ =\ PHI\ \<total_weight_81(8),\ total_weight_83(9)\>\l\
|_23\ =\ rl_72-\>number_of_nodes;\l\
|_24\ =\ _23\ +\ -1;\l\
|if\ (i_56\ \<\ _24)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_71_basic_block_20 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 20\>:\l\
|_50\ =\ node_76-\>weight;\l\
|rhp_log\ (\"%s():\ adjusted\ node[%d]\ weight\ from\ -1\ to\ %d\ (leftish\ mode)\\n\",\ &__func__,\ i_56,\ _50);\l\
}"];

	fn_71_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|_25\ =\ rl_72-\>nodes;\l\
|_26\ =\ (sizetype)\ i_56;\l\
|_27\ =\ _26\ +\ 1;\l\
|_28\ =\ _27\ *\ 8;\l\
|_29\ =\ _25\ +\ _28;\l\
|_30\ =\ *_29;\l\
|_31\ =\ _30-\>weight;\l\
|if\ (_31\ \>=\ 0)\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_71_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|#\ number_of_weights_53\ =\ PHI\ \<number_of_weights_52(10),\ number_of_weights_52(11),\ number_of_weights_84(12)\>\l\
|#\ total_weight_55\ =\ PHI\ \<total_weight_54(10),\ total_weight_54(11),\ total_weight_85(12)\>\l\
|if\ (number_of_weights_53\ \>\ 0)\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_71_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|number_of_weights_84\ =\ number_of_weights_52\ +\ 1;\l\
|_32\ =\ rl_72-\>nodes;\l\
|_33\ =\ (sizetype)\ i_56;\l\
|_34\ =\ _33\ +\ 1;\l\
|_35\ =\ _34\ *\ 8;\l\
|_36\ =\ _32\ +\ _35;\l\
|_37\ =\ *_36;\l\
|_38\ =\ _37-\>weight;\l\
|total_weight_85\ =\ total_weight_54\ +\ _38;\l\
}"];

	fn_71_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|_39\ =\ total_weight_55\ *\ 100;\l\
|node_76-\>weight\ =\ _39;\l\
|_40\ =\ node_76-\>weight;\l\
|_41\ =\ _40\ /\ number_of_weights_53;\l\
|node_76-\>weight\ =\ _41;\l\
goto\ \<bb\ 16\>;\ [INV]\l\
}"];

	fn_71_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|node_76-\>weight\ =\ 0;\l\
}"];

	fn_71_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|_42\ =\ node_76-\>weight;\l\
|rhp_log\ (\"%s():\ adjusted\ node[%d]\ weight\ from\ -1\ to\ %d\ (avg\ mode)\\n\",\ &__func__,\ i_56,\ _42);\l\
goto\ \<bb\ 21\>;\ [INV]\l\
}"];

	}
	fn_71_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_71_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_71_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_62\ =\ 0B;\l\
|rl_63\ =\ 0B;\l\
|node_64\ =\ 0B;\l\
|number_of_weights_65\ =\ 0;\l\
|total_weight_66\ =\ 0;\l\
|i_67\ =\ 0;\l\
|_1\ =\ (long\ long\ int)\ level_68(D);\l\
|rhp_sp_layers.277_2\ =\ rhp_sp_layers;\l\
|spn_71\ =\ rhp_sp_lookup\ (rhp_sp_layers.277_2,\ _1);\l\
|if\ (spn_71\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_71_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ could\ not\ find\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ level_68(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 24\>;\ [INV]\l\
}"];

	fn_71_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_3\ =\ spn_71-\>value;\l\
|rl_72\ =\ (struct\ rhplevel\ *)\ _3;\l\
|_4\ =\ rl_72-\>number_of_nodes;\l\
|rhp_log\ (\"%s():\ to\ adjust\ %d\ weights\ for\ %d\ nodes\ in\ level\ %d\ orientation\ %d\\n\",\ &__func__,\ number_of_weights_65,\ _4,\ level_68(D),\ orientation_73(D));\l\
|i_75\ =\ 0;\l\
goto\ \<bb\ 22\>;\ [INV]\l\
}"];

	fn_71_basic_block_23 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 23\>:\l\
}"];

	fn_71_basic_block_24 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 24\>:\l\
|\<L24\>:\l\
|return;\l\
}"];

	fn_71_basic_block_0:s -> fn_71_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_2:s -> fn_71_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_2:s -> fn_71_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_3:s -> fn_71_basic_block_24:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_4:s -> fn_71_basic_block_22:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_5:s -> fn_71_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_5:s -> fn_71_basic_block_21:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_6:s -> fn_71_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_6:s -> fn_71_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_7:s -> fn_71_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_8:s -> fn_71_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_8:s -> fn_71_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_9:s -> fn_71_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_10:s -> fn_71_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_10:s -> fn_71_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_11:s -> fn_71_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_11:s -> fn_71_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_12:s -> fn_71_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_13:s -> fn_71_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_13:s -> fn_71_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_14:s -> fn_71_basic_block_16:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_15:s -> fn_71_basic_block_16:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_16:s -> fn_71_basic_block_21:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_17:s -> fn_71_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_17:s -> fn_71_basic_block_19:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_18:s -> fn_71_basic_block_20:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_19:s -> fn_71_basic_block_20:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_20:s -> fn_71_basic_block_21:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_21:s -> fn_71_basic_block_22:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_71_basic_block_22:s -> fn_71_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_22:s -> fn_71_basic_block_23:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_23:s -> fn_71_basic_block_24:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_71_basic_block_24:s -> fn_71_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_71_basic_block_0:s -> fn_71_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_barycenterweights" {
	style="dashed";
	color="black";
	label="rhp_barycenterweights ()";
	subgraph cluster_70_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_70_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ i_19\ =\ PHI\ \<i_38(4),\ i_44(7)\>\l\
|#\ n_node_adjust_21\ =\ PHI\ \<n_node_adjust_37(4),\ n_node_adjust_20(7)\>\l\
|_16\ =\ rl_34-\>number_of_nodes;\l\
|if\ (i_19\ \<\ _16)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_70_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_5\ =\ rl_34-\>nodes;\l\
|_6\ =\ (long\ unsigned\ int)\ i_19;\l\
|_7\ =\ _6\ *\ 8;\l\
|_8\ =\ _5\ +\ _7;\l\
|_9\ =\ *_8;\l\
|rhp_node_weight\ (_9,\ orientation_35(D));\l\
|_10\ =\ rl_34-\>nodes;\l\
|_11\ =\ (long\ unsigned\ int)\ i_19;\l\
|_12\ =\ _11\ *\ 8;\l\
|_13\ =\ _10\ +\ _12;\l\
|_14\ =\ *_13;\l\
|_15\ =\ _14-\>weight;\l\
|if\ (_15\ ==\ -1)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_70_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|n_node_adjust_43\ =\ n_node_adjust_21\ +\ 1;\l\
}"];

	fn_70_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|#\ n_node_adjust_20\ =\ PHI\ \<n_node_adjust_21(5),\ n_node_adjust_43(6)\>\l\
|i_44\ =\ i_19\ +\ 1;\l\
}"];

	}
	fn_70_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_70_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_70_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_26\ =\ 0B;\l\
|rl_27\ =\ 0B;\l\
|i_28\ =\ 0;\l\
|n_node_adjust_29\ =\ 0;\l\
|_1\ =\ (long\ long\ int)\ level_30(D);\l\
|rhp_sp_layers.275_2\ =\ rhp_sp_layers;\l\
|spn_33\ =\ rhp_sp_lookup\ (rhp_sp_layers.275_2,\ _1);\l\
|if\ (spn_33\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_70_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ could\ not\ find\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ level_30(D));\l\
|_46\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_70_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_3\ =\ spn_33-\>value;\l\
|rl_34\ =\ (struct\ rhplevel\ *)\ _3;\l\
|_4\ =\ rl_34-\>number_of_nodes;\l\
|rhp_log\ (\"%s():\ weights\ for\ %d\ nodes\ in\ level\ %d\ mode\ %d\\n\",\ &__func__,\ _4,\ level_30(D),\ orientation_35(D));\l\
|n_node_adjust_37\ =\ 0;\l\
|i_38\ =\ 0;\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_70_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|if\ (n_node_adjust_21\ !=\ 0)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_70_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_17\ =\ rl_34-\>number_of_nodes;\l\
|rhp_iter.276_18\ =\ rhp_iter;\l\
|rhp_log\ (\"%s():\ iteration\ %d\ %d\ nodes\ need\ adjust\ from\ %d\ nodes\ in\ level\ %d\ mode\ %d\\n\",\ &__func__,\ rhp_iter.276_18,\ n_node_adjust_21,\ _17,\ level_30(D),\ orientation_35(D));\l\
}"];

	fn_70_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|rl_34-\>number_adjustments\ =\ n_node_adjust_21;\l\
|_41\ =\ n_node_adjust_21;\l\
}"];

	fn_70_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|#\ _22\ =\ PHI\ \<_46(3),\ _41(11)\>\l\
|\<L9\>:\l\
|return\ _22;\l\
}"];

	fn_70_basic_block_0:s -> fn_70_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_70_basic_block_2:s -> fn_70_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_70_basic_block_2:s -> fn_70_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_70_basic_block_3:s -> fn_70_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_70_basic_block_4:s -> fn_70_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_70_basic_block_5:s -> fn_70_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_70_basic_block_5:s -> fn_70_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_70_basic_block_6:s -> fn_70_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_70_basic_block_7:s -> fn_70_basic_block_8:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_70_basic_block_8:s -> fn_70_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_70_basic_block_8:s -> fn_70_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_70_basic_block_9:s -> fn_70_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_70_basic_block_9:s -> fn_70_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_70_basic_block_10:s -> fn_70_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_70_basic_block_11:s -> fn_70_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_70_basic_block_12:s -> fn_70_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_70_basic_block_0:s -> fn_70_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_barycenterdownsweep" {
	style="dashed";
	color="black";
	label="rhp_barycenterdownsweep ()";
	subgraph cluster_69_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_69_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ layer_3\ =\ PHI\ \<layer_11(2),\ layer_22(7)\>\l\
|_2\ =\ lowlevel_13(D)\ +\ -1;\l\
|if\ (layer_3\ \>=\ _2)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_69_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|nadj_15\ =\ 0;\l\
|nadj_17\ =\ rhp_barycenterweights\ (layer_3,\ 1);\l\
|if\ (nadj_17\ !=\ 0)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_69_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_barycenterweights_adjust\ (layer_3,\ 1);\l\
}"];

	fn_69_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_layersort\ (layer_3);\l\
|rhp_updatecrossingsforlayer\ (layer_3);\l\
|_1\ =\ rhp_end_of_iteration\ ();\l\
|if\ (_1\ !=\ 0)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_69_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|layer_22\ =\ layer_3\ +\ -1;\l\
}"];

	}
	fn_69_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_69_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_69_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|layer_8\ =\ 0;\l\
|nadj_9\ =\ 0;\l\
|layer_11\ =\ hilevel_10(D);\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_69_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_23\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_69_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_14\ =\ 0;\l\
}"];

	fn_69_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ _4\ =\ PHI\ \<_23(6),\ _14(9)\>\l\
|\<L7\>:\l\
|return\ _4;\l\
}"];

	fn_69_basic_block_0:s -> fn_69_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_69_basic_block_2:s -> fn_69_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_69_basic_block_3:s -> fn_69_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_69_basic_block_3:s -> fn_69_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_69_basic_block_4:s -> fn_69_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_69_basic_block_5:s -> fn_69_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_69_basic_block_5:s -> fn_69_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_69_basic_block_6:s -> fn_69_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_69_basic_block_7:s -> fn_69_basic_block_8:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_69_basic_block_8:s -> fn_69_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_69_basic_block_8:s -> fn_69_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_69_basic_block_9:s -> fn_69_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_69_basic_block_10:s -> fn_69_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_69_basic_block_0:s -> fn_69_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_barycenterupsweep" {
	style="dashed";
	color="black";
	label="rhp_barycenterupsweep ()";
	subgraph cluster_68_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_68_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ layer_2\ =\ PHI\ \<layer_10(2),\ layer_21(7)\>\l\
|if\ (layer_2\ \<\ hilevel_12(D))\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_68_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|nadj_14\ =\ 0;\l\
|nadj_16\ =\ rhp_barycenterweights\ (layer_2,\ 0);\l\
|if\ (nadj_16\ !=\ 0)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_68_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_barycenterweights_adjust\ (layer_2,\ 0);\l\
}"];

	fn_68_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_layersort\ (layer_2);\l\
|rhp_updatecrossingsforlayer\ (layer_2);\l\
|_1\ =\ rhp_end_of_iteration\ ();\l\
|if\ (_1\ !=\ 0)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_68_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|layer_21\ =\ layer_2\ +\ 1;\l\
}"];

	}
	fn_68_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_68_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_68_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|layer_7\ =\ 0;\l\
|nadj_8\ =\ 0;\l\
|layer_10\ =\ lowlevel_9(D);\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_68_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_22\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_68_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_13\ =\ 0;\l\
}"];

	fn_68_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ _3\ =\ PHI\ \<_22(6),\ _13(9)\>\l\
|\<L7\>:\l\
|return\ _3;\l\
}"];

	fn_68_basic_block_0:s -> fn_68_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_68_basic_block_2:s -> fn_68_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_68_basic_block_3:s -> fn_68_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_68_basic_block_3:s -> fn_68_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_68_basic_block_4:s -> fn_68_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_68_basic_block_5:s -> fn_68_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_68_basic_block_5:s -> fn_68_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_68_basic_block_6:s -> fn_68_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_68_basic_block_7:s -> fn_68_basic_block_8:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_68_basic_block_8:s -> fn_68_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_68_basic_block_8:s -> fn_68_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_68_basic_block_9:s -> fn_68_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_68_basic_block_10:s -> fn_68_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_68_basic_block_0:s -> fn_68_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_end_of_iteration" {
	style="dashed";
	color="black";
	label="rhp_end_of_iteration ()";
	fn_67_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_67_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_67_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|_1\ =\ 0;\l\
}"];

	fn_67_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|\<L0\>:\l\
|return\ _1;\l\
}"];

	fn_67_basic_block_0:s -> fn_67_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_67_basic_block_2:s -> fn_67_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_67_basic_block_3:s -> fn_67_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_67_basic_block_0:s -> fn_67_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_terminate" {
	style="dashed";
	color="black";
	label="rhp_terminate ()";
	fn_66_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_66_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_66_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|redu_38\ =\ 0;\l\
|rhp_cur_crossings_39\ =\ 0;\l\
|status_40\ =\ 0;\l\
|better_41\ =\ 0;\l\
|rhp_cur_crossings_44\ =\ rhp_numberofcrossings\ ();\l\
|rhp_iter.250_1\ =\ rhp_iter;\l\
|_2\ =\ rhp_iter.250_1\ +\ 1;\l\
|rhp_iter\ =\ _2;\l\
|rhp_crossings.251_3\ =\ rhp_crossings;\l\
|rhp_log\ (\"%s():\ changed\ from\ %li\ to\ %li\ crossings\\n\",\ &__func__,\ rhp_crossings.251_3,\ rhp_cur_crossings_44);\l\
|rhp_crossings.252_4\ =\ rhp_crossings;\l\
|if\ (rhp_cur_crossings_44\ \<\ rhp_crossings.252_4)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_66_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|better_49\ =\ 1;\l\
|rhp_improvements.253_5\ =\ rhp_improvements;\l\
|_6\ =\ rhp_improvements.253_5\ +\ 1;\l\
|rhp_improvements\ =\ _6;\l\
goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_66_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|better_47\ =\ 0;\l\
|rhp_notimprovements.254_7\ =\ rhp_notimprovements;\l\
|_8\ =\ rhp_notimprovements.254_7\ +\ 1;\l\
|rhp_notimprovements\ =\ _8;\l\
}"];

	fn_66_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|#\ better_32\ =\ PHI\ \<better_49(3),\ better_47(4)\>\l\
|rhp_getlayoutdata.255_9\ =\ rhp_getlayoutdata;\l\
|if\ (rhp_getlayoutdata.255_9\ !=\ 0B)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_66_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_crossings.256_10\ =\ rhp_crossings;\l\
|if\ (rhp_crossings.256_10\ !=\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_66_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_11\ =\ rhp_cur_crossings_44\ *\ 100;\l\
|rhp_crossings.257_12\ =\ rhp_crossings;\l\
|_13\ =\ _11\ /\ rhp_crossings.257_12;\l\
|redu_52\ =\ (uint64_t)\ _13;\l\
|redu_53\ =\ 100\ -\ redu_52;\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_66_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|redu_51\ =\ 0;\l\
}"];

	fn_66_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|#\ redu_31\ =\ PHI\ \<redu_53(7),\ redu_51(8)\>\l\
|rhp_getlayoutdata.258_14\ =\ rhp_getlayoutdata;\l\
|rhp_notimprovements.259_15\ =\ rhp_notimprovements;\l\
|rhp_improvements.260_16\ =\ rhp_improvements;\l\
|rhp_crossings.261_17\ =\ rhp_crossings;\l\
|rhp_crossings.262_18\ =\ (long\ unsigned\ int)\ rhp_crossings.261_17;\l\
|rhp_cur_crossings.263_19\ =\ (long\ unsigned\ int)\ rhp_cur_crossings_44;\l\
|rhp_maxiter.264_20\ =\ rhp_maxiter;\l\
|rhp_iter.265_21\ =\ rhp_iter;\l\
|status_55\ =\ rhp_getlayoutdata.258_14\ (rhp_iter.265_21,\ rhp_maxiter.264_20,\ rhp_cur_crossings.263_19,\ rhp_crossings.262_18,\ redu_31,\ better_32,\ rhp_improvements.260_16,\ rhp_notimprovements.259_15);\l\
|if\ (status_55\ !=\ 0)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_66_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|rhp_log\ (\"%s():\ stop\ barycenter\ because\ status\ %d\ from\ callback\ routine\ at\ %lu\ crossings\\n\",\ &__func__,\ status_55,\ rhp_cur_crossings_44);\l\
|rhp_save_order\ ();\l\
|rhp_crossings\ =\ rhp_cur_crossings_44;\l\
|_59\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_66_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|if\ (rhp_cur_crossings_44\ ==\ 0)\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_66_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|rhp_crossings.266_22\ =\ rhp_crossings;\l\
|if\ (rhp_crossings.266_22\ ==\ 0)\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_66_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|rhp_crossings.267_23\ =\ rhp_crossings;\l\
|rhp_log\ (\"%s():\ stop\ barycenter\ because\ of\ no\ edge\ crossings\ cur=%lu\ old=%lu\\n\",\ &__func__,\ rhp_cur_crossings_44,\ rhp_crossings.267_23);\l\
|rhp_save_order\ ();\l\
|rhp_crossings\ =\ rhp_cur_crossings_44;\l\
|_72\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_66_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|rhp_crossings.268_24\ =\ rhp_crossings;\l\
|if\ (rhp_cur_crossings_44\ \<\ rhp_crossings.268_24)\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 20\>;\ [INV]\l\
}"];

	fn_66_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|rhp_save_order\ ();\l\
|rhp_crossings\ =\ rhp_cur_crossings_44;\l\
|rhp_crossings.269_25\ =\ rhp_crossings;\l\
|if\ (rhp_crossings.269_25\ ==\ 0)\l\
\ \ goto\ \<bb\ 16\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_66_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|_68\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_66_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|rhp_iter.270_26\ =\ rhp_iter;\l\
|rhp_maxiter.271_27\ =\ rhp_maxiter;\l\
|if\ (rhp_iter.270_26\ \>\ rhp_maxiter.271_27)\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_66_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|_67\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_66_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|_66\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_66_basic_block_20 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 20\>:\l\
|rhp_crossings.272_28\ =\ rhp_crossings;\l\
|if\ (rhp_cur_crossings_44\ !=\ rhp_crossings.272_28)\l\
\ \ goto\ \<bb\ 21\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 22\>;\ [INV]\l\
}"];

	fn_66_basic_block_21 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 21\>:\l\
|rhp_restore_order\ ();\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_66_basic_block_22 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 22\>:\l\
|rhp_save_order\ ();\l\
}"];

	fn_66_basic_block_23 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 23\>:\l\
|rhp_iter.273_29\ =\ rhp_iter;\l\
|rhp_maxiter.274_30\ =\ rhp_maxiter;\l\
|if\ (rhp_iter.273_29\ \>\ rhp_maxiter.274_30)\l\
\ \ goto\ \<bb\ 24\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 25\>;\ [INV]\l\
}"];

	fn_66_basic_block_24 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 24\>:\l\
|_63\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_66_basic_block_25 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 25\>:\l\
|_62\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
}"];

	fn_66_basic_block_26 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 26\>:\l\
|#\ _33\ =\ PHI\ \<_59(10),\ _72(13),\ _68(16),\ _67(18),\ _66(19),\ _63(24),\ _62(25)\>\l\
|\<L24\>:\l\
|return\ _33;\l\
}"];

	fn_66_basic_block_0:s -> fn_66_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_2:s -> fn_66_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_2:s -> fn_66_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_3:s -> fn_66_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_4:s -> fn_66_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_5:s -> fn_66_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_5:s -> fn_66_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_6:s -> fn_66_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_6:s -> fn_66_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_7:s -> fn_66_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_8:s -> fn_66_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_9:s -> fn_66_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_9:s -> fn_66_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_10:s -> fn_66_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_11:s -> fn_66_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_11:s -> fn_66_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_12:s -> fn_66_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_12:s -> fn_66_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_13:s -> fn_66_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_14:s -> fn_66_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_14:s -> fn_66_basic_block_20:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_15:s -> fn_66_basic_block_16:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_15:s -> fn_66_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_16:s -> fn_66_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_17:s -> fn_66_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_17:s -> fn_66_basic_block_19:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_18:s -> fn_66_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_19:s -> fn_66_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_20:s -> fn_66_basic_block_21:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_20:s -> fn_66_basic_block_22:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_21:s -> fn_66_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_22:s -> fn_66_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_23:s -> fn_66_basic_block_24:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_23:s -> fn_66_basic_block_25:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_24:s -> fn_66_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_25:s -> fn_66_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_66_basic_block_26:s -> fn_66_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_66_basic_block_0:s -> fn_66_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_barycenter" {
	style="dashed";
	color="black";
	label="rhp_barycenter ()";
	subgraph cluster_65_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_65_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_nlevels.241_2\ =\ rhp_nlevels;\l\
|_3\ =\ rhp_nlevels.241_2\ +\ -2;\l\
|_4\ =\ rhp_barycenterupsweep\ (1,\ _3);\l\
|if\ (_4\ !=\ 0)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_65_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_nlevels.242_5\ =\ rhp_nlevels;\l\
|_6\ =\ rhp_nlevels.242_5\ +\ -2;\l\
|_7\ =\ rhp_barycenterdownsweep\ (1,\ _6);\l\
|if\ (_7\ !=\ 0)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_65_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_8\ =\ rhp_terminate\ ();\l\
|if\ (_8\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	}
	fn_65_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_65_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_65_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|redu_20\ =\ 0;\l\
|rhp_iter\ =\ 0;\l\
|rhp_maxiter\ =\ 255;\l\
|rhp_start_crossings.240_1\ =\ rhp_start_crossings;\l\
|rhp_log\ (\"%s():\ starting\ barycenter\ with\ %li\ edge\ crossings\ at\ start\\n\",\ &__func__,\ rhp_start_crossings.240_1);\l\
}"];

	fn_65_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_65_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_65_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_start_crossings.243_9\ =\ rhp_start_crossings;\l\
|rhp_crossings.244_10\ =\ rhp_crossings;\l\
|rhp_log\ (\"%s():\ ending\ barycenter\ with\ %li\ edge\ crossings\ and\ started\ with\ %li\ edge\ crossings\ at\ start\\n\",\ &__func__,\ rhp_crossings.244_10,\ rhp_start_crossings.243_9);\l\
|rhp_start_crossings.245_11\ =\ rhp_start_crossings;\l\
|if\ (rhp_start_crossings.245_11\ !=\ 0)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_65_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_crossings.246_12\ =\ rhp_crossings;\l\
|_13\ =\ rhp_crossings.246_12\ *\ 100;\l\
|rhp_start_crossings.247_14\ =\ rhp_start_crossings;\l\
|redu_30\ =\ _13\ /\ rhp_start_crossings.247_14;\l\
|redu_31\ =\ 100\ -\ redu_30;\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_65_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|redu_29\ =\ 0;\l\
}"];

	fn_65_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ redu_17\ =\ PHI\ \<redu_31(9),\ redu_29(10)\>\l\
|rhp_crossings.248_15\ =\ rhp_crossings;\l\
|rhp_start_crossings.249_16\ =\ rhp_start_crossings;\l\
|rhp_log\ (\"%s():\ reduced\ edge\ crossings\ with\ %li\ percent\ from\ %li-\>%li\\n\",\ &__func__,\ redu_17,\ rhp_start_crossings.249_16,\ rhp_crossings.248_15);\l\
}"];

	fn_65_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|\<L9\>:\l\
|return;\l\
}"];

	fn_65_basic_block_0:s -> fn_65_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_65_basic_block_2:s -> fn_65_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_65_basic_block_3:s -> fn_65_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_65_basic_block_3:s -> fn_65_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_65_basic_block_4:s -> fn_65_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_65_basic_block_5:s -> fn_65_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_65_basic_block_5:s -> fn_65_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_65_basic_block_6:s -> fn_65_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_65_basic_block_7:s -> fn_65_basic_block_3:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_65_basic_block_7:s -> fn_65_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_65_basic_block_8:s -> fn_65_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_65_basic_block_8:s -> fn_65_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_65_basic_block_9:s -> fn_65_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_65_basic_block_10:s -> fn_65_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_65_basic_block_11:s -> fn_65_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_65_basic_block_12:s -> fn_65_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_65_basic_block_0:s -> fn_65_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_restore_order" {
	style="dashed";
	color="black";
	label="rhp_restore_order ()";
	subgraph cluster_64_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	subgraph cluster_64_2 {
	style="filled";
	color="darkgreen";
	fillcolor="grey77";
	label="loop 2";
	labeljust=l;
	penwidth=2;
	fn_64_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|#\ i_22\ =\ PHI\ \<i_38(5),\ i_42(6)\>\l\
|_19\ =\ rl_37-\>number_of_nodes;\l\
|if\ (i_22\ \<\ _19)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_64_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_best_crossings_order.238_6\ =\ rhp_best_crossings_order;\l\
|_7\ =\ rhp_best_crossings_order.238_6-\>node_ptr_on_layer;\l\
|_8\ =\ (long\ unsigned\ int)\ level_21;\l\
|_9\ =\ _8\ *\ 8;\l\
|_10\ =\ _7\ +\ _9;\l\
|_11\ =\ *_10;\l\
|_12\ =\ (long\ unsigned\ int)\ i_22;\l\
|_13\ =\ _12\ *\ 8;\l\
|_14\ =\ _11\ +\ _13;\l\
|nd_39\ =\ *_14;\l\
|_15\ =\ rl_37-\>nodes;\l\
|_16\ =\ (long\ unsigned\ int)\ i_22;\l\
|_17\ =\ _16\ *\ 8;\l\
|_18\ =\ _15\ +\ _17;\l\
|*_18\ =\ nd_39;\l\
|nd_39-\>position\ =\ i_22;\l\
|i_42\ =\ i_22\ +\ 1;\l\
}"];

	}
	fn_64_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|#\ level_21\ =\ PHI\ \<level_34(2),\ level_44(8)\>\l\
|rhp_nlevels.239_20\ =\ rhp_nlevels;\l\
|if\ (level_21\ \<\ rhp_nlevels.239_20)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_64_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_3\ =\ (long\ long\ int)\ level_21;\l\
|rhp_sp_layers.237_4\ =\ rhp_sp_layers;\l\
|spn_36\ =\ rhp_sp_lookup\ (rhp_sp_layers.237_4,\ _3);\l\
|if\ (spn_36\ ==\ 0B)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_64_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_log\ (\"%s():\ could\ not\ get\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ level_21);\l\
|//\ predicted\ unlikely\ by\ continue\ predictor.\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_64_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_5\ =\ spn_36-\>value;\l\
|rl_37\ =\ (struct\ rhplevel\ *)\ _5;\l\
|i_38\ =\ 0;\l\
goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_64_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|level_44\ =\ level_21\ +\ 1;\l\
}"];

	}
	fn_64_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_64_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_64_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_26\ =\ 0B;\l\
|rl_27\ =\ 0B;\l\
|nd_28\ =\ 0B;\l\
|level_29\ =\ 0;\l\
|i_30\ =\ 0;\l\
|rhp_log\ (\"%s():\ \\n\",\ &__func__);\l\
|rhp_best_crossings_order.235_1\ =\ rhp_best_crossings_order;\l\
|rhp_nlevels.236_2\ =\ rhp_nlevels;\l\
|rhp_best_crossings_order.235_1-\>num_layers\ =\ rhp_nlevels.236_2;\l\
|level_34\ =\ 0;\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_64_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
}"];

	fn_64_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|\<L9\>:\l\
|return;\l\
}"];

	fn_64_basic_block_0:s -> fn_64_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_64_basic_block_2:s -> fn_64_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_64_basic_block_3:s -> fn_64_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_64_basic_block_3:s -> fn_64_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_64_basic_block_4:s -> fn_64_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_64_basic_block_5:s -> fn_64_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_64_basic_block_6:s -> fn_64_basic_block_7:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_64_basic_block_7:s -> fn_64_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_64_basic_block_7:s -> fn_64_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_64_basic_block_8:s -> fn_64_basic_block_9:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_64_basic_block_9:s -> fn_64_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_64_basic_block_9:s -> fn_64_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_64_basic_block_10:s -> fn_64_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_64_basic_block_11:s -> fn_64_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_64_basic_block_0:s -> fn_64_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_save_order" {
	style="dashed";
	color="black";
	label="rhp_save_order ()";
	subgraph cluster_63_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	subgraph cluster_63_2 {
	style="filled";
	color="darkgreen";
	fillcolor="grey77";
	label="loop 2";
	labeljust=l;
	penwidth=2;
	fn_63_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|#\ i_23\ =\ PHI\ \<i_39(5),\ i_44(6)\>\l\
|_20\ =\ rl_37-\>number_of_nodes;\l\
|if\ (i_23\ \<\ _20)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_63_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_6\ =\ rl_37-\>nodes;\l\
|_7\ =\ (long\ unsigned\ int)\ i_23;\l\
|_8\ =\ _7\ *\ 8;\l\
|_9\ =\ _6\ +\ _8;\l\
|nd_41\ =\ *_9;\l\
|rhp_best_crossings_order.233_10\ =\ rhp_best_crossings_order;\l\
|_11\ =\ rhp_best_crossings_order.233_10-\>node_ptr_on_layer;\l\
|_12\ =\ (long\ unsigned\ int)\ level_22;\l\
|_13\ =\ _12\ *\ 8;\l\
|_14\ =\ _11\ +\ _13;\l\
|_15\ =\ *_14;\l\
|_16\ =\ (long\ unsigned\ int)\ i_23;\l\
|_17\ =\ _16\ *\ 8;\l\
|_18\ =\ _15\ +\ _17;\l\
|*_18\ =\ nd_41;\l\
|_19\ =\ nd_41-\>innum;\l\
|rhp_log\ (\"\ %d\",\ _19);\l\
|i_44\ =\ i_23\ +\ 1;\l\
}"];

	}
	fn_63_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ level_22\ =\ PHI\ \<level_34(2),\ level_46(9)\>\l\
|rhp_nlevels.234_21\ =\ rhp_nlevels;\l\
|if\ (level_22\ \<\ rhp_nlevels.234_21)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_63_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_3\ =\ (long\ long\ int)\ level_22;\l\
|rhp_sp_layers.232_4\ =\ rhp_sp_layers;\l\
|spn_36\ =\ rhp_sp_lookup\ (rhp_sp_layers.232_4,\ _3);\l\
|if\ (spn_36\ ==\ 0B)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_63_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_log\ (\"%s():\ could\ not\ get\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ level_22);\l\
|//\ predicted\ unlikely\ by\ continue\ predictor.\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_63_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_5\ =\ spn_36-\>value;\l\
|rl_37\ =\ (struct\ rhplevel\ *)\ _5;\l\
|rhp_log\ (\"%s():\ level\ %d\ has\ nodes:\",\ &__func__,\ level_22);\l\
|i_39\ =\ 0;\l\
goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_63_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|level_46\ =\ level_22\ +\ 1;\l\
}"];

	fn_63_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_log\ (\"\\n\");\l\
}"];

	}
	fn_63_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_63_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_63_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_27\ =\ 0B;\l\
|rl_28\ =\ 0B;\l\
|nd_29\ =\ 0B;\l\
|level_30\ =\ 0;\l\
|i_31\ =\ 0;\l\
|rhp_best_crossings_order.230_1\ =\ rhp_best_crossings_order;\l\
|rhp_nlevels.231_2\ =\ rhp_nlevels;\l\
|rhp_best_crossings_order.230_1-\>num_layers\ =\ rhp_nlevels.231_2;\l\
|level_34\ =\ 0;\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_63_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
}"];

	fn_63_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|\<L9\>:\l\
|return;\l\
}"];

	fn_63_basic_block_0:s -> fn_63_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_63_basic_block_2:s -> fn_63_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_63_basic_block_3:s -> fn_63_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_63_basic_block_3:s -> fn_63_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_63_basic_block_4:s -> fn_63_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_63_basic_block_5:s -> fn_63_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_63_basic_block_6:s -> fn_63_basic_block_7:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_63_basic_block_7:s -> fn_63_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_63_basic_block_7:s -> fn_63_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_63_basic_block_8:s -> fn_63_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_63_basic_block_9:s -> fn_63_basic_block_10:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_63_basic_block_10:s -> fn_63_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_63_basic_block_10:s -> fn_63_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_63_basic_block_11:s -> fn_63_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_63_basic_block_12:s -> fn_63_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_63_basic_block_0:s -> fn_63_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_order_init" {
	style="dashed";
	color="black";
	label="rhp_order_init ()";
	subgraph cluster_62_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_62_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|#\ level_50\ =\ PHI\ \<level_74(6),\ level_85(11)\>\l\
|#\ tb_52\ =\ PHI\ \<tb_72(6),\ tb_51(11)\>\l\
|rhp_nlevels.228_48\ =\ rhp_nlevels;\l\
|if\ (level_50\ \<\ rhp_nlevels.228_48)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_62_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_25\ =\ (long\ long\ int)\ level_50;\l\
|rhp_sp_layers.224_26\ =\ rhp_sp_layers;\l\
|spn_78\ =\ rhp_sp_lookup\ (rhp_sp_layers.224_26,\ _25);\l\
|if\ (spn_78\ ==\ 0B)\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_62_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_sp_layers.225_27\ =\ rhp_sp_layers;\l\
|rhp_log\ (\"%s():\ could\ not\ get\ data\ for\ level\ %d\ in\ sp_layers=%p\ shouldnothappen!\\n\",\ &__func__,\ level_50,\ rhp_sp_layers.225_27);\l\
|//\ predicted\ unlikely\ by\ continue\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_62_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_28\ =\ spn_78-\>value;\l\
|rl_79\ =\ (struct\ rhplevel\ *)\ _28;\l\
|rhp_best_crossings_order.226_29\ =\ rhp_best_crossings_order;\l\
|_30\ =\ rhp_best_crossings_order.226_29-\>num_nodes_on_layer;\l\
|_31\ =\ (long\ unsigned\ int)\ level_50;\l\
|_32\ =\ _31\ *\ 4;\l\
|_33\ =\ _30\ +\ _32;\l\
|_34\ =\ rl_79-\>number_of_nodes;\l\
|*_33\ =\ _34;\l\
|_35\ =\ rl_79-\>number_of_nodes;\l\
|if\ (_35\ !=\ 0)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_62_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ tb_51\ =\ PHI\ \<tb_52(8),\ tb_52(9),\ tb_83(10)\>\l\
|level_85\ =\ level_50\ +\ 1;\l\
}"];

	fn_62_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_36\ =\ rl_79-\>number_of_nodes;\l\
|_37\ =\ (long\ unsigned\ int)\ _36;\l\
|_38\ =\ _37\ *\ 8;\l\
|rhp_best_crossings_order.227_39\ =\ rhp_best_crossings_order;\l\
|_40\ =\ rhp_best_crossings_order.227_39-\>node_ptr_on_layer;\l\
|_41\ =\ (long\ unsigned\ int)\ level_50;\l\
|_42\ =\ _41\ *\ 8;\l\
|_43\ =\ _40\ +\ _42;\l\
|_44\ =\ rhp_malloc\ (_38,\ &__func__,\ 3138);\l\
|*_43\ =\ _44;\l\
|_45\ =\ rl_79-\>number_of_nodes;\l\
|_46\ =\ (long\ unsigned\ int)\ _45;\l\
|_47\ =\ _46\ *\ 8;\l\
|tb_83\ =\ tb_52\ +\ _47;\l\
}"];

	}
	fn_62_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_62_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_62_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_57\ =\ 0B;\l\
|rl_58\ =\ 0B;\l\
|level_59\ =\ 0;\l\
|tb_60\ =\ 0;\l\
|rhp_nlevels.212_1\ =\ rhp_nlevels;\l\
|rhp_log\ (\"%s():\ rhp_nlevels\ is\ %d\\n\",\ &__func__,\ rhp_nlevels.212_1);\l\
|_2\ =\ rhp_malloc\ (24,\ &__func__,\ 3094);\l\
|rhp_best_crossings_order\ =\ _2;\l\
|tb_65\ =\ tb_60\ +\ 24;\l\
|rhp_best_crossings_order.213_3\ =\ rhp_best_crossings_order;\l\
|rhp_nlevels.214_4\ =\ rhp_nlevels;\l\
|rhp_best_crossings_order.213_3-\>num_layers\ =\ rhp_nlevels.214_4;\l\
|rhp_nlevels.215_5\ =\ rhp_nlevels;\l\
|_6\ =\ (long\ unsigned\ int)\ rhp_nlevels.215_5;\l\
|_7\ =\ _6\ *\ 4;\l\
|rhp_best_crossings_order.216_8\ =\ rhp_best_crossings_order;\l\
|_9\ =\ rhp_malloc\ (_7,\ &__func__,\ 3101);\l\
|rhp_best_crossings_order.216_8-\>num_nodes_on_layer\ =\ _9;\l\
|rhp_nlevels.217_10\ =\ rhp_nlevels;\l\
|_11\ =\ (long\ unsigned\ int)\ rhp_nlevels.217_10;\l\
|_12\ =\ _11\ *\ 4;\l\
|tb_69\ =\ tb_65\ +\ _12;\l\
|rhp_nlevels.218_13\ =\ rhp_nlevels;\l\
|_14\ =\ (long\ unsigned\ int)\ rhp_nlevels.218_13;\l\
|_15\ =\ _14\ *\ 8;\l\
|rhp_best_crossings_order.219_16\ =\ rhp_best_crossings_order;\l\
|_17\ =\ rhp_malloc\ (_15,\ &__func__,\ 3106);\l\
|rhp_best_crossings_order.219_16-\>node_ptr_on_layer\ =\ _17;\l\
|rhp_nlevels.220_18\ =\ rhp_nlevels;\l\
|_19\ =\ (long\ unsigned\ int)\ rhp_nlevels.220_18;\l\
|_20\ =\ _19\ *\ 8;\l\
|tb_72\ =\ tb_69\ +\ _20;\l\
|rhp_sp_layers.221_21\ =\ rhp_sp_layers;\l\
|_22\ =\ rhp_sp_has_data\ (rhp_sp_layers.221_21);\l\
|if\ (_22\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_62_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_nlevels.222_23\ =\ rhp_nlevels;\l\
|if\ (rhp_nlevels.222_23\ \>\ 1)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_62_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_nlevels.223_24\ =\ rhp_nlevels;\l\
|rhp_log\ (\"%s():\ there\ is\ no\ level\ data\ for\ %d\ levels\ shouldnothappen!\\n\",\ &__func__,\ rhp_nlevels.223_24);\l\
}"];

	fn_62_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_62_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|level_74\ =\ 0;\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_62_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|rhp_save_order\ ();\l\
|tb.229_49\ =\ (long\ long\ int)\ tb_52;\l\
|rhp_log\ (\"%s():\ using\ %lu\ bytes\ for\ the\ order\ data\\n\",\ &__func__,\ tb.229_49);\l\
}"];

	fn_62_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|\<L12\>:\l\
|return;\l\
}"];

	fn_62_basic_block_0:s -> fn_62_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_62_basic_block_2:s -> fn_62_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_2:s -> fn_62_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_3:s -> fn_62_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_3:s -> fn_62_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_4:s -> fn_62_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_62_basic_block_5:s -> fn_62_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_62_basic_block_6:s -> fn_62_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_62_basic_block_7:s -> fn_62_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_7:s -> fn_62_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_8:s -> fn_62_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_62_basic_block_9:s -> fn_62_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_9:s -> fn_62_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_10:s -> fn_62_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_62_basic_block_11:s -> fn_62_basic_block_12:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_62_basic_block_12:s -> fn_62_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_12:s -> fn_62_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_13:s -> fn_62_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_62_basic_block_14:s -> fn_62_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_62_basic_block_0:s -> fn_62_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_numberofcrossings" {
	style="dashed";
	color="black";
	label="rhp_numberofcrossings ()";
	subgraph cluster_61_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_61_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ i_12\ =\ PHI\ \<i_24(6),\ i_32(10)\>\l\
|#\ crossings_14\ =\ PHI\ \<crossings_22(6),\ crossings_13(10)\>\l\
|rhp_nlevels.209_9\ =\ rhp_nlevels;\l\
|if\ (i_12\ \<\ rhp_nlevels.209_9)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_61_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_5\ =\ (long\ long\ int)\ i_12;\l\
|rhp_sp_between_layers.208_6\ =\ rhp_sp_between_layers;\l\
|spnb_28\ =\ rhp_sp_lookup\ (rhp_sp_between_layers.208_6,\ _5);\l\
|if\ (spnb_28\ !=\ 0B)\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_61_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|_7\ =\ spnb_28-\>value;\l\
|is_30\ =\ (struct\ rhp_inter_layer_struct\ *)\ _7;\l\
|_8\ =\ is_30-\>number_of_crossings;\l\
|crossings_31\ =\ crossings_14\ +\ _8;\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_61_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_log\ (\"%s():\ could\ not\ find\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ i_12);\l\
}"];

	fn_61_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ crossings_13\ =\ PHI\ \<crossings_31(8),\ crossings_14(9)\>\l\
|i_32\ =\ i_12\ +\ 1;\l\
}"];

	}
	fn_61_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_61_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_61_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spnb_19\ =\ 0B;\l\
|is_20\ =\ 0B;\l\
|i_21\ =\ 1;\l\
|crossings_22\ =\ 0;\l\
|rhp_nlevels.204_1\ =\ rhp_nlevels;\l\
|if\ (rhp_nlevels.204_1\ \<=\ 1)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_61_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_nlevels.205_2\ =\ rhp_nlevels;\l\
|rhp_log\ (\"%s():\ graph\ has\ no\ edge\ crossings\ because\ low\ number\ of\ levels\ which\ is\ %d\\n\",\ &__func__,\ rhp_nlevels.205_2);\l\
|_36\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_61_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_number_of_edges.206_3\ =\ rhp_number_of_edges;\l\
|if\ (rhp_number_of_edges.206_3\ \<=\ 1)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_61_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_number_of_edges.207_4\ =\ rhp_number_of_edges;\l\
|rhp_log\ (\"%s():\ graph\ has\ no\ edge\ crossings\ because\ low\ number\ of\ edge\ which\ is\ %d\\n\",\ &__func__,\ rhp_number_of_edges.207_4);\l\
|_34\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_61_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|i_24\ =\ 1;\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_61_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|rhp_number_of_edges.210_10\ =\ rhp_number_of_edges;\l\
|rhp_nlevels.211_11\ =\ rhp_nlevels;\l\
|rhp_log\ (\"%s():\ graph\ has\ %li\ edge\ crossings\ in\ %d\ levels\ and\ %d\ edges\\n\",\ &__func__,\ crossings_14,\ rhp_nlevels.211_11,\ rhp_number_of_edges.210_10);\l\
|_26\ =\ crossings_14;\l\
}"];

	fn_61_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|#\ _15\ =\ PHI\ \<_36(3),\ _34(5),\ _26(12)\>\l\
|\<L10\>:\l\
|return\ _15;\l\
}"];

	fn_61_basic_block_0:s -> fn_61_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_61_basic_block_2:s -> fn_61_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_61_basic_block_2:s -> fn_61_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_61_basic_block_3:s -> fn_61_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_61_basic_block_4:s -> fn_61_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_61_basic_block_4:s -> fn_61_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_61_basic_block_5:s -> fn_61_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_61_basic_block_6:s -> fn_61_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_61_basic_block_7:s -> fn_61_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_61_basic_block_7:s -> fn_61_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_61_basic_block_8:s -> fn_61_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_61_basic_block_9:s -> fn_61_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_61_basic_block_10:s -> fn_61_basic_block_11:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_61_basic_block_11:s -> fn_61_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_61_basic_block_11:s -> fn_61_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_61_basic_block_12:s -> fn_61_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_61_basic_block_13:s -> fn_61_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_61_basic_block_0:s -> fn_61_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_insert_and_count_inversions_down" {
	style="dashed";
	color="black";
	label="rhp_insert_and_count_inversions_down ()";
	subgraph cluster_60_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_60_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ number_of_crossings_50\ =\ PHI\ \<number_of_crossings_64(6),\ number_of_crossings_70(7)\>\l\
|#\ ix_51\ =\ PHI\ \<ix_66(6),\ ix_85(7)\>\l\
|if\ (ix_51\ \>=\ 0)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_60_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_37\ =\ (long\ unsigned\ int)\ ix_51;\l\
|_38\ =\ _37\ *\ 8;\l\
|_39\ =\ edge_array_67(D)\ +\ _38;\l\
|_40\ =\ *_39;\l\
|_41\ =\ _40-\>down_node;\l\
|_42\ =\ _41-\>position;\l\
|_43\ =\ edge_to_insert_69-\>down_node;\l\
|_44\ =\ _43-\>position;\l\
|if\ (_42\ \>\ _44)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_60_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|number_of_crossings_70\ =\ number_of_crossings_50\ +\ 1;\l\
|_8\ =\ (long\ unsigned\ int)\ ix_51;\l\
|_9\ =\ _8\ *\ 8;\l\
|_10\ =\ edge_array_67(D)\ +\ _9;\l\
|edge_one_71\ =\ *_10;\l\
|edge_two_72\ =\ edge_to_insert_69;\l\
|_11\ =\ edge_one_71-\>crossings;\l\
|_12\ =\ (long\ int)\ diff_73(D);\l\
|_13\ =\ _11\ +\ _12;\l\
|edge_one_71-\>crossings\ =\ _13;\l\
|_14\ =\ edge_two_72-\>crossings;\l\
|_15\ =\ (long\ int)\ diff_73(D);\l\
|_16\ =\ _14\ +\ _15;\l\
|edge_two_72-\>crossings\ =\ _16;\l\
|up_node_one_76\ =\ edge_one_71-\>up_node;\l\
|up_node_two_77\ =\ edge_two_72-\>up_node;\l\
|down_node_one_78\ =\ edge_one_71-\>down_node;\l\
|down_node_two_79\ =\ edge_two_72-\>down_node;\l\
|_17\ =\ up_node_one_76-\>down_crossings;\l\
|_18\ =\ (long\ int)\ diff_73(D);\l\
|_19\ =\ _17\ +\ _18;\l\
|up_node_one_76-\>down_crossings\ =\ _19;\l\
|_20\ =\ up_node_two_77-\>down_crossings;\l\
|_21\ =\ (long\ int)\ diff_73(D);\l\
|_22\ =\ _20\ +\ _21;\l\
|up_node_two_77-\>down_crossings\ =\ _22;\l\
|_23\ =\ down_node_one_78-\>up_crossings;\l\
|_24\ =\ (long\ int)\ diff_73(D);\l\
|_25\ =\ _23\ +\ _24;\l\
|down_node_one_78-\>up_crossings\ =\ _25;\l\
|_26\ =\ down_node_two_79-\>up_crossings;\l\
|_27\ =\ (long\ int)\ diff_73(D);\l\
|_28\ =\ _26\ +\ _27;\l\
|down_node_two_79-\>up_crossings\ =\ _28;\l\
|_29\ =\ (long\ unsigned\ int)\ ix_51;\l\
|_30\ =\ _29\ *\ 8;\l\
|_31\ =\ edge_array_67(D)\ +\ _30;\l\
|_32\ =\ (sizetype)\ ix_51;\l\
|_33\ =\ _32\ +\ 1;\l\
|_34\ =\ _33\ *\ 8;\l\
|_35\ =\ edge_array_67(D)\ +\ _34;\l\
|_36\ =\ *_31;\l\
|*_35\ =\ _36;\l\
|ix_85\ =\ ix_51\ +\ -1;\l\
}"];

	}
	fn_60_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_60_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_60_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|number_of_crossings_55\ =\ 0;\l\
|ix_56\ =\ 0;\l\
|edge_to_insert_57\ =\ 0B;\l\
|edge_one_58\ =\ 0B;\l\
|edge_two_59\ =\ 0B;\l\
|up_node_one_60\ =\ 0B;\l\
|up_node_two_61\ =\ 0B;\l\
|down_node_one_62\ =\ 0B;\l\
|down_node_two_63\ =\ 0B;\l\
|number_of_crossings_64\ =\ 0;\l\
|if\ (starting_index_65(D)\ \<=\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_60_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ starting_index\ is\ %d\ shouldnothappen!\\n\",\ &__func__,\ starting_index_65(D));\l\
|_92\ =\ number_of_crossings_64;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_60_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|ix_66\ =\ starting_index_65(D)\ +\ -1;\l\
|_1\ =\ (long\ unsigned\ int)\ starting_index_65(D);\l\
|_2\ =\ _1\ *\ 8;\l\
|_3\ =\ edge_array_67(D)\ +\ _2;\l\
|edge_to_insert_69\ =\ *_3;\l\
|_4\ =\ (long\ unsigned\ int)\ ix_66;\l\
|_5\ =\ _4\ *\ 8;\l\
|_6\ =\ edge_array_67(D)\ +\ _5;\l\
|_7\ =\ *_6;\l\
|if\ (_7\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_60_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ edge_array[%d]\ is\ nil\ and\ starting_index\ is\ %d\ shouldnothappen!\\n\",\ &__func__,\ ix_66,\ starting_index_65(D));\l\
|_90\ =\ number_of_crossings_64;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_60_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_60_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_45\ =\ (sizetype)\ ix_51;\l\
|_46\ =\ _45\ +\ 1;\l\
|_47\ =\ _46\ *\ 8;\l\
|_48\ =\ edge_array_67(D)\ +\ _47;\l\
|*_48\ =\ edge_to_insert_69;\l\
|_49\ =\ edge_to_insert_69-\>innum;\l\
|rhp_log\ (\"%s()\ at\ edge\ %d\ are\ %li\ crossings\\n\",\ &__func__,\ _49,\ number_of_crossings_50);\l\
|_88\ =\ number_of_crossings_50;\l\
}"];

	fn_60_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ _52\ =\ PHI\ \<_92(3),\ _90(5),\ _88(10)\>\l\
|\<L8\>:\l\
|return\ _52;\l\
}"];

	fn_60_basic_block_0:s -> fn_60_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_60_basic_block_2:s -> fn_60_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_60_basic_block_2:s -> fn_60_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_60_basic_block_3:s -> fn_60_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_60_basic_block_4:s -> fn_60_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_60_basic_block_4:s -> fn_60_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_60_basic_block_5:s -> fn_60_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_60_basic_block_6:s -> fn_60_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_60_basic_block_7:s -> fn_60_basic_block_8:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_60_basic_block_8:s -> fn_60_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_60_basic_block_8:s -> fn_60_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_60_basic_block_9:s -> fn_60_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_60_basic_block_9:s -> fn_60_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_60_basic_block_10:s -> fn_60_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_60_basic_block_11:s -> fn_60_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_60_basic_block_0:s -> fn_60_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_count_inversions_down" {
	style="dashed";
	color="black";
	label="rhp_count_inversions_down ()";
	subgraph cluster_59_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_59_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|#\ number_of_inversions_2\ =\ PHI\ \<number_of_inversions_5(2),\ number_of_inversions_14(3)\>\l\
|#\ i_3\ =\ PHI\ \<i_7(2),\ i_15(3)\>\l\
|if\ (i_3\ \<\ num_of_edges_9(D))\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_59_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_1\ =\ rhp_insert_and_count_inversions_down\ (edge_array_11(D),\ i_3,\ diff_12(D));\l\
|number_of_inversions_14\ =\ number_of_inversions_2\ +\ _1;\l\
|i_15\ =\ i_3\ +\ 1;\l\
}"];

	}
	fn_59_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_59_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_59_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|number_of_inversions_5\ =\ 0;\l\
|i_6\ =\ 0;\l\
|i_7\ =\ 1;\l\
goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_59_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_10\ =\ number_of_inversions_2;\l\
}"];

	fn_59_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|\<L3\>:\l\
|return\ _10;\l\
}"];

	fn_59_basic_block_0:s -> fn_59_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_59_basic_block_2:s -> fn_59_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_59_basic_block_3:s -> fn_59_basic_block_4:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_59_basic_block_4:s -> fn_59_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_59_basic_block_4:s -> fn_59_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_59_basic_block_5:s -> fn_59_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_59_basic_block_6:s -> fn_59_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_59_basic_block_0:s -> fn_59_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_add_edges_to_array" {
	style="dashed";
	color="black";
	label="rhp_add_edges_to_array ()";
	subgraph cluster_58_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_58_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|#\ edges_added_9\ =\ PHI\ \<edges_added_14(4),\ edges_added_20(5)\>\l\
|if\ (edges_added_9\ \<\ num_edges_13(D))\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_58_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_1\ =\ (long\ unsigned\ int)\ edges_added_9;\l\
|_2\ =\ _1\ *\ 8;\l\
|_3\ =\ edges_to_add_16(D)\ +\ _2;\l\
|_4\ =\ start_pos_17(D)\ +\ edges_added_9;\l\
|_5\ =\ (long\ unsigned\ int)\ _4;\l\
|_6\ =\ _5\ *\ 8;\l\
|_7\ =\ edge_array_18(D)\ +\ _6;\l\
|_8\ =\ *_3;\l\
|*_7\ =\ _8;\l\
|edges_added_20\ =\ edges_added_9\ +\ 1;\l\
}"];

	}
	fn_58_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_58_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_58_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|edges_added_12\ =\ 0;\l\
|if\ (num_edges_13(D)\ \<=\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_58_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ %d\ num_edges\ is\ too\ low\ shouldnothappen!\\n\",\ &__func__,\ num_edges_13(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_58_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|edges_added_14\ =\ 0;\l\
goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_58_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
}"];

	fn_58_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|\<L5\>:\l\
|return;\l\
}"];

	fn_58_basic_block_0:s -> fn_58_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_58_basic_block_2:s -> fn_58_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_58_basic_block_2:s -> fn_58_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_58_basic_block_3:s -> fn_58_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_58_basic_block_4:s -> fn_58_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_58_basic_block_5:s -> fn_58_basic_block_6:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_58_basic_block_6:s -> fn_58_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_58_basic_block_6:s -> fn_58_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_58_basic_block_7:s -> fn_58_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_58_basic_block_8:s -> fn_58_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_58_basic_block_0:s -> fn_58_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sortbydownnodeposition" {
	style="dashed";
	color="black";
	label="rhp_sortbydownnodeposition ()";
	fn_57_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_57_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_57_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|_1\ =\ (long\ unsigned\ int)\ num_edges_2(D);\l\
|qsort\ (edge_array_4(D),\ _1,\ 8,\ rhp_compare_down_edges);\l\
}"];

	fn_57_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|\<L0\>:\l\
|return;\l\
}"];

	fn_57_basic_block_0:s -> fn_57_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_57_basic_block_2:s -> fn_57_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_57_basic_block_3:s -> fn_57_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_57_basic_block_0:s -> fn_57_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_compare_down_edges" {
	style="dashed";
	color="black";
	label="rhp_compare_down_edges ()";
	fn_56_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_56_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_56_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|entry_ptr_i_10\ =\ 0B;\l\
|entry_ptr_j_11\ =\ 0B;\l\
|edge_i_12\ =\ 0B;\l\
|edge_j_13\ =\ 0B;\l\
|entry_ptr_i_15\ =\ ptr_i_14(D);\l\
|entry_ptr_j_17\ =\ ptr_j_16(D);\l\
|edge_i_19\ =\ *entry_ptr_i_15;\l\
|edge_j_20\ =\ *entry_ptr_j_17;\l\
|_1\ =\ edge_i_19-\>down_node;\l\
|_2\ =\ _1-\>position;\l\
|_3\ =\ edge_j_20-\>down_node;\l\
|_4\ =\ _3-\>position;\l\
|if\ (_2\ \>\ _4)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_56_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_23\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_56_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_5\ =\ edge_i_19-\>down_node;\l\
|_6\ =\ _5-\>position;\l\
|_7\ =\ edge_j_20-\>down_node;\l\
|_8\ =\ _7-\>position;\l\
|if\ (_6\ \<\ _8)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_56_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_22\ =\ -1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_56_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_21\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
}"];

	fn_56_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|#\ _9\ =\ PHI\ \<_23(3),\ _22(5),\ _21(6)\>\l\
|\<L4\>:\l\
|return\ _9;\l\
}"];

	fn_56_basic_block_0:s -> fn_56_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_56_basic_block_2:s -> fn_56_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_56_basic_block_2:s -> fn_56_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_56_basic_block_3:s -> fn_56_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_56_basic_block_4:s -> fn_56_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_56_basic_block_4:s -> fn_56_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_56_basic_block_5:s -> fn_56_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_56_basic_block_6:s -> fn_56_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_56_basic_block_7:s -> fn_56_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_56_basic_block_0:s -> fn_56_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_updatecrossingsbetweenlayers" {
	style="dashed";
	color="black";
	label="rhp_updatecrossingsbetweenlayers ()";
	subgraph cluster_55_5 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 5";
	labeljust=l;
	penwidth=2;
	fn_55_basic_block_49 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 49\>:\l\
|#\ i_91\ =\ PHI\ \<i_137(47),\ i_149(48)\>\l\
|_80\ =\ lv_135-\>number_of_nodes;\l\
|if\ (i_91\ \<\ _80)\l\
\ \ goto\ \<bb\ 48\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 50\>;\ [INV]\l\
}"];

	fn_55_basic_block_48 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 48\>:\l\
|_75\ =\ lv_135-\>nodes;\l\
|_76\ =\ (long\ unsigned\ int)\ i_91;\l\
|_77\ =\ _76\ *\ 8;\l\
|_78\ =\ _75\ +\ _77;\l\
|nd_147\ =\ *_78;\l\
|_79\ =\ nd_147-\>innum;\l\
|rhp_log\ (\"\ %d\",\ _79);\l\
|i_149\ =\ i_91\ +\ 1;\l\
}"];

	}
	subgraph cluster_55_4 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 4";
	labeljust=l;
	penwidth=2;
	subgraph cluster_55_6 {
	style="filled";
	color="darkgreen";
	fillcolor="grey77";
	label="loop 6";
	labeljust=l;
	penwidth=2;
	fn_55_basic_block_38 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 38\>:\l\
|#\ ii_93\ =\ PHI\ \<ii_155(36),\ ii_157(37)\>\l\
|_63\ =\ nd_153-\>down_degree;\l\
|if\ (ii_93\ \<\ _63)\l\
\ \ goto\ \<bb\ 37\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 39\>;\ [INV]\l\
}"];

	fn_55_basic_block_37 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 37\>:\l\
|_57\ =\ nd_153-\>down_edges;\l\
|_58\ =\ (long\ unsigned\ int)\ ii_93;\l\
|_59\ =\ _58\ *\ 8;\l\
|_60\ =\ _57\ +\ _59;\l\
|_61\ =\ *_60;\l\
|_62\ =\ _61-\>innum;\l\
|rhp_log\ (\"\ %d\",\ _62);\l\
|ii_157\ =\ ii_93\ +\ 1;\l\
}"];

	}
	fn_55_basic_block_40 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 40\>:\l\
|#\ i_90\ =\ PHI\ \<i_132(34),\ i_159(39)\>\l\
|_64\ =\ lv_130-\>number_of_nodes;\l\
|if\ (i_90\ \<\ _64)\l\
\ \ goto\ \<bb\ 35\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 41\>;\ [INV]\l\
}"];

	fn_55_basic_block_35 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 35\>:\l\
|_50\ =\ lv_130-\>nodes;\l\
|_51\ =\ (long\ unsigned\ int)\ i_90;\l\
|_52\ =\ _51\ *\ 8;\l\
|_53\ =\ _50\ +\ _52;\l\
|nd_153\ =\ *_53;\l\
|_54\ =\ nd_153-\>down_degree;\l\
|_55\ =\ nd_153-\>innum;\l\
|rhp_log\ (\"%s():\ \ \ node\ %d\ down-degree\ %d\ connected\ to\ edges:\",\ &__func__,\ _55,\ _54);\l\
|_56\ =\ nd_153-\>down_degree;\l\
|if\ (_56\ \>\ 0)\l\
\ \ goto\ \<bb\ 36\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 39\>;\ [INV]\l\
}"];

	fn_55_basic_block_36 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 36\>:\l\
|ii_155\ =\ 0;\l\
goto\ \<bb\ 38\>;\ [INV]\l\
}"];

	fn_55_basic_block_39 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 39\>:\l\
|rhp_log\ (\"%s\",\ \"\\n\");\l\
|i_159\ =\ i_90\ +\ 1;\l\
}"];

	}
	subgraph cluster_55_3 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 3";
	labeljust=l;
	penwidth=2;
	fn_55_basic_block_31 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 31\>:\l\
|#\ i_89\ =\ PHI\ \<i_127(29),\ i_163(30)\>\l\
|_45\ =\ lv_126-\>number_of_nodes;\l\
|if\ (i_89\ \<\ _45)\l\
\ \ goto\ \<bb\ 30\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 32\>;\ [INV]\l\
}"];

	fn_55_basic_block_30 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 30\>:\l\
|_41\ =\ lv_126-\>nodes;\l\
|_42\ =\ (long\ unsigned\ int)\ i_89;\l\
|_43\ =\ _42\ *\ 8;\l\
|_44\ =\ _41\ +\ _43;\l\
|nd_161\ =\ *_44;\l\
|nd_161-\>up_crossings\ =\ 0;\l\
|i_163\ =\ i_89\ +\ 1;\l\
}"];

	}
	subgraph cluster_55_2 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 2";
	labeljust=l;
	penwidth=2;
	subgraph cluster_55_7 {
	style="filled";
	color="darkgreen";
	fillcolor="grey77";
	label="loop 7";
	labeljust=l;
	penwidth=2;
	fn_55_basic_block_20 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 20\>:\l\
|#\ ii_92\ =\ PHI\ \<ii_169(18),\ ii_171(19)\>\l\
|_31\ =\ nd_167-\>down_degree;\l\
|if\ (ii_92\ \<\ _31)\l\
\ \ goto\ \<bb\ 19\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 21\>;\ [INV]\l\
}"];

	fn_55_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|_26\ =\ nd_167-\>down_edges;\l\
|_27\ =\ (long\ unsigned\ int)\ ii_92;\l\
|_28\ =\ _27\ *\ 8;\l\
|_29\ =\ _26\ +\ _28;\l\
|_30\ =\ *_29;\l\
|_30-\>crossings\ =\ 0;\l\
|ii_171\ =\ ii_92\ +\ 1;\l\
}"];

	}
	fn_55_basic_block_22 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 22\>:\l\
|#\ i_88\ =\ PHI\ \<i_123(16),\ i_172(21)\>\l\
|_32\ =\ lv_121-\>number_of_nodes;\l\
|if\ (i_88\ \<\ _32)\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_55_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|_21\ =\ lv_121-\>nodes;\l\
|_22\ =\ (long\ unsigned\ int)\ i_88;\l\
|_23\ =\ _22\ *\ 8;\l\
|_24\ =\ _21\ +\ _23;\l\
|nd_167\ =\ *_24;\l\
|nd_167-\>down_crossings\ =\ 0;\l\
|_25\ =\ nd_167-\>down_degree;\l\
|if\ (_25\ \>\ 0)\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 21\>;\ [INV]\l\
}"];

	fn_55_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|ii_169\ =\ 0;\l\
goto\ \<bb\ 20\>;\ [INV]\l\
}"];

	fn_55_basic_block_21 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 21\>:\l\
|i_172\ =\ i_88\ +\ 1;\l\
}"];

	}
	subgraph cluster_55_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_55_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|#\ ix_86\ =\ PHI\ \<ix_113(8),\ ix_179(14)\>\l\
|#\ i_87\ =\ PHI\ \<i_122(8),\ i_180(14)\>\l\
|_20\ =\ lv_121-\>number_of_nodes;\l\
|if\ (i_87\ \<\ _20)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 16\>;\ [INV]\l\
}"];

	fn_55_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_5\ =\ lv_121-\>nodes;\l\
|_6\ =\ (long\ unsigned\ int)\ i_87;\l\
|_7\ =\ _6\ *\ 8;\l\
|_8\ =\ _5\ +\ _7;\l\
|nd_173\ =\ *_8;\l\
|_9\ =\ nd_173-\>down_degree;\l\
|if\ (_9\ \>\ 1)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_55_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_10\ =\ nd_173-\>down_degree;\l\
|_11\ =\ nd_173-\>down_edges;\l\
|rhp_sortbydownnodeposition\ (_11,\ _10);\l\
}"];

	fn_55_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|_12\ =\ nd_173-\>down_degree;\l\
|if\ (_12\ \>\ 0)\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_55_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|_13\ =\ (long\ long\ int)\ upper_layer_117(D);\l\
|rhp_sp_between_layers.199_14\ =\ rhp_sp_between_layers;\l\
|spnb_176\ =\ rhp_sp_lookup\ (rhp_sp_between_layers.199_14,\ _13);\l\
|if\ (spnb_176\ !=\ 0B)\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_55_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|_19\ =\ nd_173-\>down_degree;\l\
|ix_179\ =\ ix_86\ +\ _19;\l\
|i_180\ =\ i_87\ +\ 1;\l\
}"];

	fn_55_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|_15\ =\ spnb_176-\>value;\l\
|is_177\ =\ (struct\ rhp_inter_layer_struct\ *)\ _15;\l\
|_16\ =\ nd_173-\>down_degree;\l\
|_17\ =\ nd_173-\>down_edges;\l\
|_18\ =\ is_177-\>eedges;\l\
|rhp_add_edges_to_array\ (_18,\ _17,\ _16,\ ix_86);\l\
}"];

	}
	fn_55_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_55_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_55_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_108\ =\ 0B;\l\
|spnb_109\ =\ 0B;\l\
|lv_110\ =\ 0B;\l\
|nd_111\ =\ 0B;\l\
|is_112\ =\ 0B;\l\
|ix_113\ =\ 0;\l\
|i_114\ =\ 0;\l\
|ii_115\ =\ 0;\l\
|ncross_116\ =\ 0;\l\
|_1\ =\ (long\ long\ int)\ upper_layer_117(D);\l\
|rhp_sp_layers.198_2\ =\ rhp_sp_layers;\l\
|spn_120\ =\ rhp_sp_lookup\ (rhp_sp_layers.198_2,\ _1);\l\
|if\ (spn_120\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_55_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ no\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ upper_layer_117(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 54\>;\ [INV]\l\
}"];

	fn_55_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_3\ =\ spn_120-\>value;\l\
|lv_121\ =\ (struct\ rhplevel\ *)\ _3;\l\
|if\ (lv_121\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_55_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ upper_layer_117(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 54\>;\ [INV]\l\
}"];

	fn_55_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_4\ =\ lv_121-\>nodes;\l\
|if\ (_4\ ==\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_55_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ no\ data\ for\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ upper_layer_117(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 54\>;\ [INV]\l\
}"];

	fn_55_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|i_122\ =\ 0;\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_55_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|i_123\ =\ 0;\l\
goto\ \<bb\ 22\>;\ [INV]\l\
}"];

	fn_55_basic_block_23 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 23\>:\l\
|_33\ =\ upper_layer_117(D)\ +\ -1;\l\
|_34\ =\ (long\ long\ int)\ _33;\l\
|rhp_sp_layers.200_35\ =\ rhp_sp_layers;\l\
|spn_125\ =\ rhp_sp_lookup\ (rhp_sp_layers.200_35,\ _34);\l\
|if\ (spn_125\ ==\ 0B)\l\
\ \ goto\ \<bb\ 24\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 25\>;\ [INV]\l\
}"];

	fn_55_basic_block_24 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 24\>:\l\
|_36\ =\ upper_layer_117(D)\ +\ -1;\l\
|rhp_log\ (\"%s():\ no\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ _36);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 54\>;\ [INV]\l\
}"];

	fn_55_basic_block_25 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 25\>:\l\
|_37\ =\ spn_125-\>value;\l\
|lv_126\ =\ (struct\ rhplevel\ *)\ _37;\l\
|if\ (lv_126\ ==\ 0B)\l\
\ \ goto\ \<bb\ 26\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 27\>;\ [INV]\l\
}"];

	fn_55_basic_block_26 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 26\>:\l\
|_38\ =\ upper_layer_117(D)\ +\ -1;\l\
|rhp_log\ (\"%s():\ no\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ _38);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 54\>;\ [INV]\l\
}"];

	fn_55_basic_block_27 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 27\>:\l\
|_39\ =\ lv_126-\>nodes;\l\
|if\ (_39\ ==\ 0B)\l\
\ \ goto\ \<bb\ 28\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 29\>;\ [INV]\l\
}"];

	fn_55_basic_block_28 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 28\>:\l\
|_40\ =\ upper_layer_117(D)\ +\ -1;\l\
|rhp_log\ (\"%s():\ no\ data\ for\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ _40);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 54\>;\ [INV]\l\
}"];

	fn_55_basic_block_29 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 29\>:\l\
|i_127\ =\ 0;\l\
goto\ \<bb\ 31\>;\ [INV]\l\
}"];

	fn_55_basic_block_32 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 32\>:\l\
|_46\ =\ (long\ long\ int)\ upper_layer_117(D);\l\
|rhp_sp_layers.201_47\ =\ rhp_sp_layers;\l\
|spn_129\ =\ rhp_sp_lookup\ (rhp_sp_layers.201_47,\ _46);\l\
|if\ (spn_129\ ==\ 0B)\l\
\ \ goto\ \<bb\ 33\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 34\>;\ [INV]\l\
}"];

	fn_55_basic_block_33 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 33\>:\l\
|rhp_log\ (\"%s():\ no\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ upper_layer_117(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 54\>;\ [INV]\l\
}"];

	fn_55_basic_block_34 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 34\>:\l\
|_48\ =\ spn_129-\>value;\l\
|lv_130\ =\ (struct\ rhplevel\ *)\ _48;\l\
|_49\ =\ lv_130-\>number_of_nodes;\l\
|rhp_log\ (\"%s():\ level\ %d\ has\ %d\ nodes:\\n\",\ &__func__,\ upper_layer_117(D),\ _49);\l\
|i_132\ =\ 0;\l\
goto\ \<bb\ 40\>;\ [INV]\l\
}"];

	fn_55_basic_block_41 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 41\>:\l\
|_65\ =\ upper_layer_117(D)\ +\ -1;\l\
|_66\ =\ (long\ long\ int)\ _65;\l\
|rhp_sp_layers.202_67\ =\ rhp_sp_layers;\l\
|spn_134\ =\ rhp_sp_lookup\ (rhp_sp_layers.202_67,\ _66);\l\
|if\ (spn_134\ ==\ 0B)\l\
\ \ goto\ \<bb\ 42\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 43\>;\ [INV]\l\
}"];

	fn_55_basic_block_42 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 42\>:\l\
|_68\ =\ upper_layer_117(D)\ +\ -1;\l\
|rhp_log\ (\"%s():\ no\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ _68);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 54\>;\ [INV]\l\
}"];

	fn_55_basic_block_43 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 43\>:\l\
|_69\ =\ spn_134-\>value;\l\
|lv_135\ =\ (struct\ rhplevel\ *)\ _69;\l\
|if\ (lv_135\ ==\ 0B)\l\
\ \ goto\ \<bb\ 44\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 45\>;\ [INV]\l\
}"];

	fn_55_basic_block_44 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 44\>:\l\
|_70\ =\ upper_layer_117(D)\ +\ -1;\l\
|rhp_log\ (\"%s():\ no\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ _70);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 54\>;\ [INV]\l\
}"];

	fn_55_basic_block_45 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 45\>:\l\
|_71\ =\ lv_135-\>nodes;\l\
|if\ (_71\ ==\ 0B)\l\
\ \ goto\ \<bb\ 46\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 47\>;\ [INV]\l\
}"];

	fn_55_basic_block_46 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 46\>:\l\
|_72\ =\ upper_layer_117(D)\ +\ -1;\l\
|rhp_log\ (\"%s():\ no\ data\ for\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ _72);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 54\>;\ [INV]\l\
}"];

	fn_55_basic_block_47 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 47\>:\l\
|_73\ =\ lv_135-\>number_of_nodes;\l\
|_74\ =\ upper_layer_117(D)\ +\ -1;\l\
|rhp_log\ (\"%s():\ level\ %d\ has\ %d\ nodes:\",\ &__func__,\ _74,\ _73);\l\
|i_137\ =\ 0;\l\
goto\ \<bb\ 49\>;\ [INV]\l\
}"];

	fn_55_basic_block_50 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 50\>:\l\
|rhp_log\ (\"%s\",\ \"\\n\");\l\
|_81\ =\ (long\ long\ int)\ upper_layer_117(D);\l\
|rhp_sp_between_layers.203_82\ =\ rhp_sp_between_layers;\l\
|spnb_140\ =\ rhp_sp_lookup\ (rhp_sp_between_layers.203_82,\ _81);\l\
|if\ (spnb_140\ !=\ 0B)\l\
\ \ goto\ \<bb\ 51\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 52\>;\ [INV]\l\
}"];

	fn_55_basic_block_51 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 51\>:\l\
|_83\ =\ spnb_140-\>value;\l\
|is_142\ =\ (struct\ rhp_inter_layer_struct\ *)\ _83;\l\
|_84\ =\ is_142-\>number_of_edges;\l\
|_85\ =\ is_142-\>eedges;\l\
|ncross_144\ =\ rhp_count_inversions_down\ (_85,\ _84,\ 1);\l\
|is_142-\>number_of_crossings\ =\ ncross_144;\l\
goto\ \<bb\ 53\>;\ [INV]\l\
}"];

	fn_55_basic_block_52 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 52\>:\l\
|rhp_log\ (\"%s():\ could\ not\ find\ level\ %d\ in\ between_layers\ shouldnothappen!\\n\",\ &__func__,\ upper_layer_117(D));\l\
}"];

	fn_55_basic_block_53 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 53\>:\l\
|#\ ncross_94\ =\ PHI\ \<ncross_144(51),\ ncross_116(52)\>\l\
|rhp_log\ (\"%s():\ %li\ crossings\ at\ level\ %d\\n\",\ &__func__,\ ncross_94,\ upper_layer_117(D));\l\
}"];

	fn_55_basic_block_54 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 54\>:\l\
|\<L54\>:\l\
|return;\l\
}"];

	fn_55_basic_block_0:s -> fn_55_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_2:s -> fn_55_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_2:s -> fn_55_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_3:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_4:s -> fn_55_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_4:s -> fn_55_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_5:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_6:s -> fn_55_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_6:s -> fn_55_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_7:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_8:s -> fn_55_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_9:s -> fn_55_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_9:s -> fn_55_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_10:s -> fn_55_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_11:s -> fn_55_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_11:s -> fn_55_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_12:s -> fn_55_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_12:s -> fn_55_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_13:s -> fn_55_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_14:s -> fn_55_basic_block_15:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_55_basic_block_15:s -> fn_55_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_15:s -> fn_55_basic_block_16:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_16:s -> fn_55_basic_block_22:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_17:s -> fn_55_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_17:s -> fn_55_basic_block_21:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_18:s -> fn_55_basic_block_20:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_19:s -> fn_55_basic_block_20:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_55_basic_block_20:s -> fn_55_basic_block_19:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_20:s -> fn_55_basic_block_21:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_21:s -> fn_55_basic_block_22:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_55_basic_block_22:s -> fn_55_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_22:s -> fn_55_basic_block_23:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_23:s -> fn_55_basic_block_24:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_23:s -> fn_55_basic_block_25:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_24:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_25:s -> fn_55_basic_block_26:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_25:s -> fn_55_basic_block_27:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_26:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_27:s -> fn_55_basic_block_28:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_27:s -> fn_55_basic_block_29:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_28:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_29:s -> fn_55_basic_block_31:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_30:s -> fn_55_basic_block_31:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_55_basic_block_31:s -> fn_55_basic_block_30:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_31:s -> fn_55_basic_block_32:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_32:s -> fn_55_basic_block_33:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_32:s -> fn_55_basic_block_34:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_33:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_34:s -> fn_55_basic_block_40:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_35:s -> fn_55_basic_block_36:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_35:s -> fn_55_basic_block_39:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_36:s -> fn_55_basic_block_38:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_37:s -> fn_55_basic_block_38:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_55_basic_block_38:s -> fn_55_basic_block_37:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_38:s -> fn_55_basic_block_39:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_39:s -> fn_55_basic_block_40:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_55_basic_block_40:s -> fn_55_basic_block_35:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_40:s -> fn_55_basic_block_41:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_41:s -> fn_55_basic_block_42:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_41:s -> fn_55_basic_block_43:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_42:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_43:s -> fn_55_basic_block_44:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_43:s -> fn_55_basic_block_45:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_44:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_45:s -> fn_55_basic_block_46:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_45:s -> fn_55_basic_block_47:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_46:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_47:s -> fn_55_basic_block_49:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_48:s -> fn_55_basic_block_49:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_55_basic_block_49:s -> fn_55_basic_block_48:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_49:s -> fn_55_basic_block_50:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_50:s -> fn_55_basic_block_51:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_50:s -> fn_55_basic_block_52:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_51:s -> fn_55_basic_block_53:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_52:s -> fn_55_basic_block_53:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_53:s -> fn_55_basic_block_54:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_55_basic_block_54:s -> fn_55_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_55_basic_block_0:s -> fn_55_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_updatecrossingsforlayer" {
	style="dashed";
	color="black";
	label="rhp_updatecrossingsforlayer ()";
	fn_54_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_54_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_54_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|rhp_updatenodepositions\ (layer_7(D));\l\
|if\ (layer_7(D)\ \>\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_54_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_updatecrossingsbetweenlayers\ (layer_7(D));\l\
}"];

	fn_54_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_nlevels.197_1\ =\ rhp_nlevels;\l\
|_2\ =\ rhp_nlevels.197_1\ +\ -1;\l\
|if\ (layer_7(D)\ \<\ _2)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_54_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_3\ =\ layer_7(D)\ +\ 1;\l\
|rhp_updatecrossingsbetweenlayers\ (_3);\l\
}"];

	fn_54_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
}"];

	fn_54_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|\<L4\>:\l\
|return;\l\
}"];

	fn_54_basic_block_0:s -> fn_54_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_54_basic_block_2:s -> fn_54_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_54_basic_block_2:s -> fn_54_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_54_basic_block_3:s -> fn_54_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_54_basic_block_4:s -> fn_54_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_54_basic_block_4:s -> fn_54_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_54_basic_block_5:s -> fn_54_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_54_basic_block_6:s -> fn_54_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_54_basic_block_7:s -> fn_54_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_54_basic_block_0:s -> fn_54_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_updatenodepositions" {
	style="dashed";
	color="black";
	label="rhp_updatenodepositions ()";
	subgraph cluster_53_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_53_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ pos_14\ =\ PHI\ \<pos_29(8),\ pos_34(9)\>\l\
|#\ i_15\ =\ PHI\ \<i_30(8),\ i_35(9)\>\l\
|_13\ =\ lv_28-\>number_of_nodes;\l\
|if\ (i_15\ \<\ _13)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_53_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_5\ =\ lv_28-\>nodes;\l\
|_6\ =\ (long\ unsigned\ int)\ i_15;\l\
|_7\ =\ _6\ *\ 8;\l\
|_8\ =\ _5\ +\ _7;\l\
|nd_31\ =\ *_8;\l\
|nd_31-\>position\ =\ pos_14;\l\
|_9\ =\ nd_31-\>weight;\l\
|_10\ =\ nd_31-\>position;\l\
|_11\ =\ nd_31-\>level;\l\
|_12\ =\ nd_31-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ level\ %d\ pos\ %d\ weight\ %d\\n\",\ &__func__,\ _12,\ _11,\ _10,\ _9);\l\
|pos_34\ =\ pos_14\ +\ 1;\l\
|i_35\ =\ i_15\ +\ 1;\l\
}"];

	}
	fn_53_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_53_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_53_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_18\ =\ 0B;\l\
|lv_19\ =\ 0B;\l\
|nd_20\ =\ 0B;\l\
|pos_21\ =\ 0;\l\
|i_22\ =\ 0;\l\
|rhp_log\ (\"%s():\ updating\ node\ positions\ for\ level\ %d\\n\",\ &__func__,\ layer_number_24(D));\l\
|_1\ =\ (long\ long\ int)\ layer_number_24(D);\l\
|rhp_sp_layers.196_2\ =\ rhp_sp_layers;\l\
|spn_27\ =\ rhp_sp_lookup\ (rhp_sp_layers.196_2,\ _1);\l\
|if\ (spn_27\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_53_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ no\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ layer_number_24(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_53_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_3\ =\ spn_27-\>value;\l\
|lv_28\ =\ (struct\ rhplevel\ *)\ _3;\l\
|if\ (lv_28\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_53_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ layer_number_24(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_53_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_4\ =\ lv_28-\>nodes;\l\
|if\ (_4\ ==\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_53_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ no\ data\ for\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ layer_number_24(D));\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_53_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|pos_29\ =\ 0;\l\
|i_30\ =\ 0;\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_53_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
}"];

	fn_53_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|\<L9\>:\l\
|return;\l\
}"];

	fn_53_basic_block_0:s -> fn_53_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_53_basic_block_2:s -> fn_53_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_53_basic_block_2:s -> fn_53_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_53_basic_block_3:s -> fn_53_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_53_basic_block_4:s -> fn_53_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_53_basic_block_4:s -> fn_53_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_53_basic_block_5:s -> fn_53_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_53_basic_block_6:s -> fn_53_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_53_basic_block_6:s -> fn_53_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_53_basic_block_7:s -> fn_53_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_53_basic_block_8:s -> fn_53_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_53_basic_block_9:s -> fn_53_basic_block_10:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_53_basic_block_10:s -> fn_53_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_53_basic_block_10:s -> fn_53_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_53_basic_block_11:s -> fn_53_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_53_basic_block_12:s -> fn_53_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_53_basic_block_0:s -> fn_53_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_updateallpositions" {
	style="dashed";
	color="black";
	label="rhp_updateallpositions ()";
	subgraph cluster_52_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_52_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|#\ i_3\ =\ PHI\ \<i_8(2),\ i_10(3)\>\l\
|rhp_nlevels.195_2\ =\ rhp_nlevels;\l\
|if\ (i_3\ \<\ rhp_nlevels.195_2)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_52_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_updatenodepositions\ (i_3);\l\
|i_10\ =\ i_3\ +\ 1;\l\
}"];

	}
	fn_52_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_52_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_52_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|i_5\ =\ 0;\l\
|rhp_nlevels.194_1\ =\ rhp_nlevels;\l\
|rhp_log\ (\"%s():\ updating\ all\ node\ positions\ in\ %d\ levels\\n\",\ &__func__,\ rhp_nlevels.194_1);\l\
|i_8\ =\ 0;\l\
goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_52_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
}"];

	fn_52_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|\<L3\>:\l\
|return;\l\
}"];

	fn_52_basic_block_0:s -> fn_52_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_52_basic_block_2:s -> fn_52_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_52_basic_block_3:s -> fn_52_basic_block_4:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_52_basic_block_4:s -> fn_52_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_52_basic_block_4:s -> fn_52_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_52_basic_block_5:s -> fn_52_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_52_basic_block_6:s -> fn_52_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_52_basic_block_0:s -> fn_52_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_updateallcrossings" {
	style="dashed";
	color="black";
	label="rhp_updateallcrossings ()";
	subgraph cluster_51_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_51_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|#\ i_2\ =\ PHI\ \<i_7(2),\ i_9(3)\>\l\
|rhp_nlevels.193_1\ =\ rhp_nlevels;\l\
|if\ (i_2\ \<\ rhp_nlevels.193_1)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_51_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_updatecrossingsbetweenlayers\ (i_2);\l\
|i_9\ =\ i_2\ +\ 1;\l\
}"];

	}
	fn_51_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_51_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_51_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|i_4\ =\ 0;\l\
|rhp_updateallpositions\ ();\l\
|i_7\ =\ 1;\l\
goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_51_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
}"];

	fn_51_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|\<L3\>:\l\
|return;\l\
}"];

	fn_51_basic_block_0:s -> fn_51_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_51_basic_block_2:s -> fn_51_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_51_basic_block_3:s -> fn_51_basic_block_4:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_51_basic_block_4:s -> fn_51_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_51_basic_block_4:s -> fn_51_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_51_basic_block_5:s -> fn_51_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_51_basic_block_6:s -> fn_51_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_51_basic_block_0:s -> fn_51_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_count_down_edges" {
	style="dashed";
	color="black";
	label="rhp_count_down_edges ()";
	subgraph cluster_50_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_50_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ count_12\ =\ PHI\ \<count_27(9),\ count_30(10)\>\l\
|#\ i_14\ =\ PHI\ \<i_28(9),\ i_31(10)\>\l\
|_11\ =\ lv_26-\>number_of_nodes;\l\
|if\ (i_14\ \<\ _11)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_50_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_6\ =\ lv_26-\>nodes;\l\
|_7\ =\ (long\ unsigned\ int)\ i_14;\l\
|_8\ =\ _7\ *\ 8;\l\
|_9\ =\ _6\ +\ _8;\l\
|nd_29\ =\ *_9;\l\
|_10\ =\ nd_29-\>down_degree;\l\
|count_30\ =\ count_12\ +\ _10;\l\
|i_31\ =\ i_14\ +\ 1;\l\
}"];

	}
	fn_50_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_50_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_50_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_17\ =\ 0B;\l\
|lv_18\ =\ 0B;\l\
|nd_19\ =\ 0B;\l\
|count_20\ =\ 0;\l\
|i_21\ =\ 0;\l\
|_1\ =\ (long\ long\ int)\ layer_number_22(D);\l\
|rhp_sp_layers.192_2\ =\ rhp_sp_layers;\l\
|spn_25\ =\ rhp_sp_lookup\ (rhp_sp_layers.192_2,\ _1);\l\
|if\ (spn_25\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_50_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ no\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ layer_number_22(D));\l\
|_39\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_50_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_3\ =\ spn_25-\>value;\l\
|lv_26\ =\ (struct\ rhplevel\ *)\ _3;\l\
|if\ (lv_26\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_50_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ layer_number_22(D));\l\
|_37\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_50_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_4\ =\ lv_26-\>nodes;\l\
|if\ (_4\ ==\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_50_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ no\ data\ for\ nodes\ in\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ layer_number_22(D));\l\
|_35\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_50_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|count_27\ =\ 0;\l\
|_5\ =\ lv_26-\>nodes;\l\
|if\ (_5\ !=\ 0B)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_50_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|i_28\ =\ 0;\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_50_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|#\ count_13\ =\ PHI\ \<count_27(8),\ count_12(11)\>\l\
|rhp_log\ (\"%s():\ down_degree\ count\ is\ %d\ at\ level\ %d\\n\",\ &__func__,\ count_13,\ layer_number_22(D));\l\
|_33\ =\ count_13;\l\
}"];

	fn_50_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|#\ _15\ =\ PHI\ \<_39(3),\ _37(5),\ _35(7),\ _33(12)\>\l\
|\<L11\>:\l\
|return\ _15;\l\
}"];

	fn_50_basic_block_0:s -> fn_50_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_50_basic_block_2:s -> fn_50_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_2:s -> fn_50_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_3:s -> fn_50_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_50_basic_block_4:s -> fn_50_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_4:s -> fn_50_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_5:s -> fn_50_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_50_basic_block_6:s -> fn_50_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_6:s -> fn_50_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_7:s -> fn_50_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_50_basic_block_8:s -> fn_50_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_8:s -> fn_50_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_9:s -> fn_50_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_50_basic_block_10:s -> fn_50_basic_block_11:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_50_basic_block_11:s -> fn_50_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_11:s -> fn_50_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_12:s -> fn_50_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_50_basic_block_13:s -> fn_50_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_50_basic_block_0:s -> fn_50_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_makeinterlayer" {
	style="dashed";
	color="black";
	label="rhp_makeinterlayer ()";
	fn_49_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_49_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_49_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|is_13\ =\ 0B;\l\
|bt_14\ =\ 0;\l\
|is_17\ =\ rhp_malloc\ (24,\ &__func__,\ 2559);\l\
|bt_18\ =\ bt_14\ +\ 24;\l\
|_1\ =\ rhp_count_down_edges\ (upper_layer_19(D));\l\
|is_17-\>number_of_edges\ =\ _1;\l\
|is_17-\>number_of_crossings\ =\ -1;\l\
|_2\ =\ is_17-\>number_of_edges;\l\
|if\ (_2\ !=\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_49_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_3\ =\ is_17-\>number_of_edges;\l\
|_4\ =\ (long\ unsigned\ int)\ _3;\l\
|_5\ =\ _4\ *\ 8;\l\
|_6\ =\ rhp_malloc\ (_5,\ &__func__,\ 2571);\l\
|is_17-\>eedges\ =\ _6;\l\
|_7\ =\ is_17-\>number_of_edges;\l\
|_8\ =\ (long\ unsigned\ int)\ _7;\l\
|_9\ =\ _8\ *\ 8;\l\
|bt_25\ =\ bt_18\ +\ _9;\l\
}"];

	fn_49_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|#\ bt_11\ =\ PHI\ \<bt_18(2),\ bt_25(3)\>\l\
|bt.191_10\ =\ (long\ long\ int)\ bt_11;\l\
|rhp_log\ (\"%s():\ using\ %lu\ bytes\ for\ the\ interlevels\\n\",\ &__func__,\ bt.191_10);\l\
|_27\ =\ is_17;\l\
}"];

	fn_49_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|\<L2\>:\l\
|return\ _27;\l\
}"];

	fn_49_basic_block_0:s -> fn_49_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_49_basic_block_2:s -> fn_49_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_49_basic_block_2:s -> fn_49_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_49_basic_block_3:s -> fn_49_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_49_basic_block_4:s -> fn_49_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_49_basic_block_5:s -> fn_49_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_49_basic_block_0:s -> fn_49_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_initcrossings" {
	style="dashed";
	color="black";
	label="rhp_initcrossings ()";
	subgraph cluster_48_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_48_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|#\ i_7\ =\ PHI\ \<i_14(4),\ i_18(5)\>\l\
|rhp_nlevels.190_6\ =\ rhp_nlevels;\l\
|if\ (i_7\ \<\ rhp_nlevels.190_6)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_48_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|is_16\ =\ rhp_makeinterlayer\ (i_7);\l\
|is.188_3\ =\ (long\ long\ int)\ is_16;\l\
|_4\ =\ (long\ long\ int)\ i_7;\l\
|rhp_sp_between_layers.189_5\ =\ rhp_sp_between_layers;\l\
|rhp_sp_insert\ (rhp_sp_between_layers.189_5,\ _4,\ is.188_3);\l\
|i_18\ =\ i_7\ +\ 1;\l\
}"];

	}
	fn_48_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_48_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_48_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|i_10\ =\ 0;\l\
|is_11\ =\ 0B;\l\
|rhp_nlevels.186_1\ =\ rhp_nlevels;\l\
|rhp_log\ (\"%s():\ rhp_nlevels\ is\ %d\\n\",\ &__func__,\ rhp_nlevels.186_1);\l\
|rhp_nlevels.187_2\ =\ rhp_nlevels;\l\
|if\ (rhp_nlevels.187_2\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_48_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ no\ levels\ shouldnothappen!\\n\",\ &__func__);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_48_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|i_14\ =\ 0;\l\
goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_48_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
}"];

	fn_48_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|\<L5\>:\l\
|return;\l\
}"];

	fn_48_basic_block_0:s -> fn_48_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_48_basic_block_2:s -> fn_48_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_48_basic_block_2:s -> fn_48_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_48_basic_block_3:s -> fn_48_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_48_basic_block_4:s -> fn_48_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_48_basic_block_5:s -> fn_48_basic_block_6:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_48_basic_block_6:s -> fn_48_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_48_basic_block_6:s -> fn_48_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_48_basic_block_7:s -> fn_48_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_48_basic_block_8:s -> fn_48_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_48_basic_block_0:s -> fn_48_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_countisolatednodes" {
	style="dashed";
	color="black";
	label="rhp_countisolatednodes ()";
	subgraph cluster_47_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_47_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|#\ spn_9\ =\ PHI\ \<spn_22(4),\ spn_28(8)\>\l\
|#\ c_11\ =\ PHI\ \<c_17(4),\ c_10(8)\>\l\
|if\ (spn_9\ !=\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_47_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_4\ =\ spn_9-\>value;\l\
|nd_25\ =\ (struct\ rhpnode\ *)\ _4;\l\
|_5\ =\ nd_25-\>up_degree;\l\
|if\ (_5\ ==\ 0)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_47_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_6\ =\ nd_25-\>down_degree;\l\
|if\ (_6\ ==\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_47_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ c_10\ =\ PHI\ \<c_11(5),\ c_11(6),\ c_26(7)\>\l\
|_7\ =\ spn_9-\>key;\l\
|rhp_sp_master_node_list.185_8\ =\ rhp_sp_master_node_list;\l\
|spn_28\ =\ rhp_sp_next\ (rhp_sp_master_node_list.185_8,\ _7);\l\
}"];

	fn_47_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|c_26\ =\ c_11\ +\ 1;\l\
}"];

	}
	fn_47_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_47_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_47_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|nd_15\ =\ 0B;\l\
|spn_16\ =\ 0B;\l\
|c_17\ =\ 0;\l\
|rhp_number_of_isolated_nodes\ =\ 0;\l\
|rhp_sp_master_node_list.183_1\ =\ rhp_sp_master_node_list;\l\
|_2\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.183_1);\l\
|if\ (_2\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_47_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ shouldnothappen!\\n\",\ &__func__);\l\
|_30\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_47_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.184_3\ =\ rhp_sp_master_node_list;\l\
|spn_22\ =\ rhp_sp_min\ (rhp_sp_master_node_list.184_3);\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_47_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|rhp_log\ (\"%s():\ %d\ nodes\ without\ edge\ connections\ found\\n\",\ &__func__,\ c_11);\l\
|_24\ =\ c_11;\l\
}"];

	fn_47_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ _12\ =\ PHI\ \<_30(3),\ _24(10)\>\l\
|\<L9\>:\l\
|return\ _12;\l\
}"];

	fn_47_basic_block_0:s -> fn_47_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_47_basic_block_2:s -> fn_47_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_47_basic_block_2:s -> fn_47_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_47_basic_block_3:s -> fn_47_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_47_basic_block_4:s -> fn_47_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_47_basic_block_5:s -> fn_47_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_47_basic_block_5:s -> fn_47_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_47_basic_block_6:s -> fn_47_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_47_basic_block_6:s -> fn_47_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_47_basic_block_7:s -> fn_47_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_47_basic_block_8:s -> fn_47_basic_block_9:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_47_basic_block_9:s -> fn_47_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_47_basic_block_9:s -> fn_47_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_47_basic_block_10:s -> fn_47_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_47_basic_block_11:s -> fn_47_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_47_basic_block_0:s -> fn_47_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_allocateadjacencylists" {
	style="dashed";
	color="black";
	label="rhp_allocateadjacencylists ()";
	subgraph cluster_46_4 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 4";
	labeljust=l;
	penwidth=2;
	subgraph cluster_46_6 {
	style="filled";
	color="darkgreen";
	fillcolor="grey77";
	label="loop 6";
	labeljust=l;
	penwidth=2;
	fn_46_basic_block_37 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 37\>:\l\
|#\ i_107\ =\ PHI\ \<i_159(35),\ i_162(36)\>\l\
|_93\ =\ nd_151-\>down_degree;\l\
|if\ (i_107\ \<\ _93)\l\
\ \ goto\ \<bb\ 36\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 38\>;\ [INV]\l\
}"];

	fn_46_basic_block_36 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 36\>:\l\
|_88\ =\ nd_151-\>down_edges;\l\
|_89\ =\ (long\ unsigned\ int)\ i_107;\l\
|_90\ =\ _89\ *\ 8;\l\
|_91\ =\ _88\ +\ _90;\l\
|re_160\ =\ *_91;\l\
|_92\ =\ re_160-\>innum;\l\
|rhp_log\ (\"\ %d\",\ _92);\l\
|i_162\ =\ i_107\ +\ 1;\l\
}"];

	}
	subgraph cluster_46_5 {
	style="filled";
	color="darkgreen";
	fillcolor="grey77";
	label="loop 5";
	labeljust=l;
	penwidth=2;
	fn_46_basic_block_33 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 33\>:\l\
|#\ i_106\ =\ PHI\ \<i_154(31),\ i_157(32)\>\l\
|_86\ =\ nd_151-\>up_degree;\l\
|if\ (i_106\ \<\ _86)\l\
\ \ goto\ \<bb\ 32\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 34\>;\ [INV]\l\
}"];

	fn_46_basic_block_32 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 32\>:\l\
|_81\ =\ nd_151-\>up_edges;\l\
|_82\ =\ (long\ unsigned\ int)\ i_106;\l\
|_83\ =\ _82\ *\ 8;\l\
|_84\ =\ _81\ +\ _83;\l\
|re_155\ =\ *_84;\l\
|_85\ =\ re_155-\>innum;\l\
|rhp_log\ (\"\ %d\",\ _85);\l\
|i_157\ =\ i_106\ +\ 1;\l\
}"];

	}
	fn_46_basic_block_39 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 39\>:\l\
|#\ spn_98\ =\ PHI\ \<spn_150(29),\ spn_165(38)\>\l\
|if\ (spn_98\ !=\ 0B)\l\
\ \ goto\ \<bb\ 30\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 40\>;\ [INV]\l\
}"];

	fn_46_basic_block_30 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 30\>:\l\
|_76\ =\ spn_98-\>value;\l\
|nd_151\ =\ (struct\ rhpnode\ *)\ _76;\l\
|_77\ =\ nd_151-\>down_degree;\l\
|_78\ =\ nd_151-\>up_degree;\l\
|_79\ =\ nd_151-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ has\ up/down\ degree\ %d/%d\",\ &__func__,\ _79,\ _78,\ _77);\l\
|_80\ =\ nd_151-\>up_edges;\l\
|if\ (_80\ !=\ 0B)\l\
\ \ goto\ \<bb\ 31\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 34\>;\ [INV]\l\
}"];

	fn_46_basic_block_31 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 31\>:\l\
|rhp_log\ (\"\ up\ connected\ with\ edge\ number\");\l\
|i_154\ =\ 0;\l\
goto\ \<bb\ 33\>;\ [INV]\l\
}"];

	fn_46_basic_block_34 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 34\>:\l\
|_87\ =\ nd_151-\>down_edges;\l\
|if\ (_87\ !=\ 0B)\l\
\ \ goto\ \<bb\ 35\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 38\>;\ [INV]\l\
}"];

	fn_46_basic_block_35 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 35\>:\l\
|rhp_log\ (\"\ down\ connected\ with\ edge\ number\");\l\
|i_159\ =\ 0;\l\
goto\ \<bb\ 37\>;\ [INV]\l\
}"];

	fn_46_basic_block_38 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 38\>:\l\
|rhp_log\ (\"%s\",\ \"\\n\");\l\
|_94\ =\ spn_98-\>key;\l\
|rhp_sp_master_node_list.182_95\ =\ rhp_sp_master_node_list;\l\
|spn_165\ =\ rhp_sp_next\ (rhp_sp_master_node_list.182_95,\ _94);\l\
}"];

	}
	subgraph cluster_46_3 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 3";
	labeljust=l;
	penwidth=2;
	fn_46_basic_block_28 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 28\>:\l\
|#\ spn_97\ =\ PHI\ \<spn_147(23),\ spn_177(27)\>\l\
|if\ (spn_97\ !=\ 0B)\l\
\ \ goto\ \<bb\ 24\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 29\>;\ [INV]\l\
}"];

	fn_46_basic_block_24 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 24\>:\l\
|_53\ =\ spn_97-\>value;\l\
|re_166\ =\ (struct\ rhpedge\ *)\ _53;\l\
|_54\ =\ re_166-\>fn;\l\
|_55\ =\ _54-\>level;\l\
|_56\ =\ re_166-\>tn;\l\
|_57\ =\ _56-\>level;\l\
|if\ (_55\ \>\ _57)\l\
\ \ goto\ \<bb\ 25\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_46_basic_block_25 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 25\>:\l\
|rhp_log\ (\"%s():\ uppernode\ is\ above\ lowernode\ shouldnothappen!\\n\",\ &__func__);\l\
|upper_node_170\ =\ re_166-\>fn;\l\
|lower_node_171\ =\ re_166-\>tn;\l\
goto\ \<bb\ 27\>;\ [INV]\l\
}"];

	fn_46_basic_block_26 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 26\>:\l\
|upper_node_167\ =\ re_166-\>tn;\l\
|lower_node_168\ =\ re_166-\>fn;\l\
}"];

	fn_46_basic_block_27 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 27\>:\l\
|#\ upper_node_100\ =\ PHI\ \<upper_node_170(25),\ upper_node_167(26)\>\l\
|#\ lower_node_102\ =\ PHI\ \<lower_node_171(25),\ lower_node_168(26)\>\l\
|_58\ =\ upper_node_100-\>down_edges;\l\
|_59\ =\ upper_node_100-\>down_degree;\l\
|_60\ =\ (long\ unsigned\ int)\ _59;\l\
|_61\ =\ _60\ *\ 8;\l\
|_62\ =\ _58\ +\ _61;\l\
|*_62\ =\ re_166;\l\
|_63\ =\ upper_node_100-\>down_degree;\l\
|_64\ =\ _63\ +\ 1;\l\
|upper_node_100-\>down_degree\ =\ _64;\l\
|_65\ =\ lower_node_102-\>up_edges;\l\
|_66\ =\ lower_node_102-\>up_degree;\l\
|_67\ =\ (long\ unsigned\ int)\ _66;\l\
|_68\ =\ _67\ *\ 8;\l\
|_69\ =\ _65\ +\ _68;\l\
|*_69\ =\ re_166;\l\
|_70\ =\ lower_node_102-\>up_degree;\l\
|_71\ =\ _70\ +\ 1;\l\
|lower_node_102-\>up_degree\ =\ _71;\l\
|_72\ =\ spn_97-\>key;\l\
|rhp_sp_master_edge_list.179_73\ =\ rhp_sp_master_edge_list;\l\
|spn_177\ =\ rhp_sp_next\ (rhp_sp_master_edge_list.179_73,\ _72);\l\
}"];

	}
	subgraph cluster_46_2 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 2";
	labeljust=l;
	penwidth=2;
	subgraph cluster_46_7 {
	style="filled";
	color="darkgreen";
	fillcolor="grey77";
	label="loop 7";
	labeljust=l;
	penwidth=2;
	fn_46_basic_block_20 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 20\>:\l\
|#\ pos_104\ =\ PHI\ \<pos_180(14),\ pos_192(19)\>\l\
|#\ i_105\ =\ PHI\ \<i_182(14),\ i_195(19)\>\l\
|#\ bt_110\ =\ PHI\ \<bt_112(14),\ bt_109(19)\>\l\
|_44\ =\ rl_181-\>number_of_nodes;\l\
|if\ (i_105\ \<\ _44)\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 21\>;\ [INV]\l\
}"];

	fn_46_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|_21\ =\ rl_181-\>nodes;\l\
|_22\ =\ (long\ unsigned\ int)\ i_105;\l\
|_23\ =\ _22\ *\ 8;\l\
|_24\ =\ _21\ +\ _23;\l\
|nd_183\ =\ *_24;\l\
|nd_183-\>position\ =\ pos_104;\l\
|_25\ =\ nd_183-\>down_degree;\l\
|_26\ =\ nd_183-\>up_degree;\l\
|_27\ =\ nd_183-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ pos\ %d\ in\ level\ %d\ has\ up/down\ degree\ %d/%d\\n\",\ &__func__,\ _27,\ pos_104,\ level_103,\ _26,\ _25);\l\
|_28\ =\ nd_183-\>up_degree;\l\
|if\ (_28\ !=\ 0)\l\
\ \ goto\ \<bb\ 16\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_46_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|_29\ =\ nd_183-\>up_degree;\l\
|_30\ =\ (long\ unsigned\ int)\ _29;\l\
|_31\ =\ _30\ *\ 8;\l\
|_32\ =\ rhp_malloc\ (_31,\ &__func__,\ 2402);\l\
|nd_183-\>up_edges\ =\ _32;\l\
|_33\ =\ nd_183-\>up_degree;\l\
|_34\ =\ (long\ unsigned\ int)\ _33;\l\
|_35\ =\ _34\ *\ 8;\l\
|bt_188\ =\ bt_110\ +\ _35;\l\
}"];

	fn_46_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|#\ bt_108\ =\ PHI\ \<bt_110(15),\ bt_188(16)\>\l\
|_36\ =\ nd_183-\>down_degree;\l\
|if\ (_36\ !=\ 0)\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_46_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|_37\ =\ nd_183-\>down_degree;\l\
|_38\ =\ (long\ unsigned\ int)\ _37;\l\
|_39\ =\ _38\ *\ 8;\l\
|_40\ =\ rhp_malloc\ (_39,\ &__func__,\ 2409);\l\
|nd_183-\>down_edges\ =\ _40;\l\
|_41\ =\ nd_183-\>down_degree;\l\
|_42\ =\ (long\ unsigned\ int)\ _41;\l\
|_43\ =\ _42\ *\ 8;\l\
|bt_191\ =\ bt_108\ +\ _43;\l\
}"];

	fn_46_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|#\ bt_109\ =\ PHI\ \<bt_108(17),\ bt_191(18)\>\l\
|pos_192\ =\ pos_104\ +\ 1;\l\
|nd_183-\>up_degree\ =\ 0;\l\
|nd_183-\>down_degree\ =\ 0;\l\
|i_195\ =\ i_105\ +\ 1;\l\
}"];

	}
	fn_46_basic_block_22 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 22\>:\l\
|#\ level_103\ =\ PHI\ \<level_144(10),\ level_196(21)\>\l\
|#\ bt_112\ =\ PHI\ \<bt_143(10),\ bt_111(21)\>\l\
|rhp_nlevels.175_45\ =\ rhp_nlevels;\l\
|if\ (level_103\ \<\ rhp_nlevels.175_45)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_46_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|_17\ =\ (long\ long\ int)\ level_103;\l\
|rhp_sp_layers.174_18\ =\ rhp_sp_layers;\l\
|spn_179\ =\ rhp_sp_lookup\ (rhp_sp_layers.174_18,\ _17);\l\
|if\ (spn_179\ ==\ 0B)\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_46_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|pos_180\ =\ 0;\l\
|_19\ =\ spn_179-\>value;\l\
|rl_181\ =\ (struct\ rhplevel\ *)\ _19;\l\
|_20\ =\ rl_181-\>nodes;\l\
|if\ (_20\ !=\ 0B)\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 21\>;\ [INV]\l\
}"];

	fn_46_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|i_182\ =\ 0;\l\
goto\ \<bb\ 20\>;\ [INV]\l\
}"];

	fn_46_basic_block_21 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 21\>:\l\
|#\ bt_111\ =\ PHI\ \<bt_112(13),\ bt_110(20)\>\l\
|level_196\ =\ level_103\ +\ 1;\l\
}"];

	}
	subgraph cluster_46_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_46_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|#\ spn_96\ =\ PHI\ \<spn_142(4),\ spn_208(8)\>\l\
|if\ (spn_96\ !=\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_46_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_4\ =\ spn_96-\>value;\l\
|re_198\ =\ (struct\ rhpedge\ *)\ _4;\l\
|rhp_number_of_edges.172_5\ =\ rhp_number_of_edges;\l\
|_6\ =\ rhp_number_of_edges.172_5\ +\ 1;\l\
|rhp_number_of_edges\ =\ _6;\l\
|_7\ =\ re_198-\>fn;\l\
|_8\ =\ _7-\>level;\l\
|_9\ =\ re_198-\>tn;\l\
|_10\ =\ _9-\>level;\l\
|if\ (_8\ \>\ _10)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_46_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_log\ (\"%s():\ uppernode\ is\ above\ lowernode\ shouldnothappen!\\n\",\ &__func__);\l\
|upper_node_203\ =\ re_198-\>fn;\l\
|lower_node_204\ =\ re_198-\>tn;\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_46_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|upper_node_200\ =\ re_198-\>tn;\l\
|lower_node_201\ =\ re_198-\>fn;\l\
}"];

	fn_46_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ upper_node_99\ =\ PHI\ \<upper_node_203(6),\ upper_node_200(7)\>\l\
|#\ lower_node_101\ =\ PHI\ \<lower_node_204(6),\ lower_node_201(7)\>\l\
|_11\ =\ upper_node_99-\>down_degree;\l\
|_12\ =\ _11\ +\ 1;\l\
|upper_node_99-\>down_degree\ =\ _12;\l\
|_13\ =\ lower_node_101-\>up_degree;\l\
|_14\ =\ _13\ +\ 1;\l\
|lower_node_101-\>up_degree\ =\ _14;\l\
|_15\ =\ spn_96-\>key;\l\
|rhp_sp_master_edge_list.173_16\ =\ rhp_sp_master_edge_list;\l\
|spn_208\ =\ rhp_sp_next\ (rhp_sp_master_edge_list.173_16,\ _15);\l\
}"];

	}
	fn_46_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_46_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_46_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_128\ =\ 0B;\l\
|re_129\ =\ 0B;\l\
|upper_node_130\ =\ 0B;\l\
|lower_node_131\ =\ 0B;\l\
|nd_132\ =\ 0B;\l\
|rl_133\ =\ 0B;\l\
|level_134\ =\ 0;\l\
|pos_135\ =\ 0;\l\
|i_136\ =\ 0;\l\
|bt_137\ =\ 0;\l\
|rhp_number_of_edges\ =\ 0;\l\
|rhp_sp_master_edge_list.170_1\ =\ rhp_sp_master_edge_list;\l\
|_2\ =\ rhp_sp_has_data\ (rhp_sp_master_edge_list.170_1);\l\
|if\ (_2\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_46_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 41\>;\ [INV]\l\
}"];

	fn_46_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_edge_list.171_3\ =\ rhp_sp_master_edge_list;\l\
|spn_142\ =\ rhp_sp_min\ (rhp_sp_master_edge_list.171_3);\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_46_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|bt_143\ =\ 0;\l\
|level_144\ =\ 0;\l\
goto\ \<bb\ 22\>;\ [INV]\l\
}"];

	fn_46_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|rhp_log\ (\"%s():\ no\ spn\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ level_103);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 41\>;\ [INV]\l\
}"];

	fn_46_basic_block_23 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 23\>:\l\
|rhp_number_of_nodes.176_46\ =\ rhp_number_of_nodes;\l\
|_47\ =\ (long\ unsigned\ int)\ rhp_number_of_nodes.176_46;\l\
|_48\ =\ _47\ *\ 80;\l\
|_49\ =\ bt_112\ +\ _48;\l\
|_50\ =\ (long\ long\ int)\ _49;\l\
|bt.177_51\ =\ (long\ long\ int)\ bt_112;\l\
|rhp_log\ (\"%s():\ using\ %lu\ additional\ more\ bytes\ for\ the\ node\ data\ and\ total\ now\ %lu\ bytes\\n\",\ &__func__,\ bt.177_51,\ _50);\l\
|rhp_sp_master_edge_list.178_52\ =\ rhp_sp_master_edge_list;\l\
|spn_147\ =\ rhp_sp_min\ (rhp_sp_master_edge_list.178_52);\l\
goto\ \<bb\ 28\>;\ [INV]\l\
}"];

	fn_46_basic_block_29 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 29\>:\l\
|rhp_number_of_edges.180_74\ =\ rhp_number_of_edges;\l\
|rhp_log\ (\"%s():\ number_of_edges\ is\ %d\\n\",\ &__func__,\ rhp_number_of_edges.180_74);\l\
|rhp_sp_master_node_list.181_75\ =\ rhp_sp_master_node_list;\l\
|spn_150\ =\ rhp_sp_min\ (rhp_sp_master_node_list.181_75);\l\
goto\ \<bb\ 39\>;\ [INV]\l\
}"];

	fn_46_basic_block_40 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 40\>:\l\
}"];

	fn_46_basic_block_41 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 41\>:\l\
|\<L41\>:\l\
|return;\l\
}"];

	fn_46_basic_block_0:s -> fn_46_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_2:s -> fn_46_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_2:s -> fn_46_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_3:s -> fn_46_basic_block_41:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_4:s -> fn_46_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_5:s -> fn_46_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_5:s -> fn_46_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_6:s -> fn_46_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_7:s -> fn_46_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_8:s -> fn_46_basic_block_9:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_46_basic_block_9:s -> fn_46_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_9:s -> fn_46_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_10:s -> fn_46_basic_block_22:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_11:s -> fn_46_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_11:s -> fn_46_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_12:s -> fn_46_basic_block_41:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_13:s -> fn_46_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_13:s -> fn_46_basic_block_21:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_14:s -> fn_46_basic_block_20:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_15:s -> fn_46_basic_block_16:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_15:s -> fn_46_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_16:s -> fn_46_basic_block_17:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_17:s -> fn_46_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_17:s -> fn_46_basic_block_19:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_18:s -> fn_46_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_19:s -> fn_46_basic_block_20:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_46_basic_block_20:s -> fn_46_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_20:s -> fn_46_basic_block_21:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_21:s -> fn_46_basic_block_22:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_46_basic_block_22:s -> fn_46_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_22:s -> fn_46_basic_block_23:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_23:s -> fn_46_basic_block_28:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_24:s -> fn_46_basic_block_25:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_24:s -> fn_46_basic_block_26:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_25:s -> fn_46_basic_block_27:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_26:s -> fn_46_basic_block_27:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_27:s -> fn_46_basic_block_28:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_46_basic_block_28:s -> fn_46_basic_block_24:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_28:s -> fn_46_basic_block_29:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_29:s -> fn_46_basic_block_39:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_30:s -> fn_46_basic_block_31:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_30:s -> fn_46_basic_block_34:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_31:s -> fn_46_basic_block_33:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_32:s -> fn_46_basic_block_33:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_46_basic_block_33:s -> fn_46_basic_block_32:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_33:s -> fn_46_basic_block_34:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_34:s -> fn_46_basic_block_35:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_34:s -> fn_46_basic_block_38:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_35:s -> fn_46_basic_block_37:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_36:s -> fn_46_basic_block_37:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_46_basic_block_37:s -> fn_46_basic_block_36:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_37:s -> fn_46_basic_block_38:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_38:s -> fn_46_basic_block_39:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_46_basic_block_39:s -> fn_46_basic_block_30:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_39:s -> fn_46_basic_block_40:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_40:s -> fn_46_basic_block_41:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_46_basic_block_41:s -> fn_46_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_46_basic_block_0:s -> fn_46_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_allocatelayers" {
	style="dashed";
	color="black";
	label="rhp_allocatelayers ()";
	subgraph cluster_45_5 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 5";
	labeljust=l;
	penwidth=2;
	subgraph cluster_45_6 {
	style="filled";
	color="darkgreen";
	fillcolor="grey77";
	label="loop 6";
	labeljust=l;
	penwidth=2;
	fn_45_basic_block_34 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 34\>:\l\
|#\ ii_75\ =\ PHI\ \<ii_123(32),\ ii_125(33)\>\l\
|_66\ =\ rl_120-\>number_of_nodes;\l\
|if\ (ii_75\ \<\ _66)\l\
\ \ goto\ \<bb\ 33\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 35\>;\ [INV]\l\
}"];

	fn_45_basic_block_33 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 33\>:\l\
|_60\ =\ rl_120-\>nodes;\l\
|_61\ =\ (long\ unsigned\ int)\ ii_75;\l\
|_62\ =\ _61\ *\ 8;\l\
|_63\ =\ _60\ +\ _62;\l\
|_64\ =\ *_63;\l\
|_65\ =\ _64-\>innum;\l\
|rhp_log\ (\"\ %d\",\ _65);\l\
|ii_125\ =\ ii_75\ +\ 1;\l\
}"];

	}
	fn_45_basic_block_37 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 37\>:\l\
|#\ i_74\ =\ PHI\ \<i_114(28),\ i_128(36)\>\l\
|#\ level_78\ =\ PHI\ \<level_115(28),\ level_129(36)\>\l\
|rhp_nlevels.166_68\ =\ rhp_nlevels;\l\
|if\ (level_78\ \<\ rhp_nlevels.166_68)\l\
\ \ goto\ \<bb\ 29\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 38\>;\ [INV]\l\
}"];

	fn_45_basic_block_29 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 29\>:\l\
|_54\ =\ (long\ long\ int)\ level_78;\l\
|rhp_sp_layers.165_55\ =\ rhp_sp_layers;\l\
|spn_119\ =\ rhp_sp_lookup\ (rhp_sp_layers.165_55,\ _54);\l\
|_56\ =\ spn_119-\>value;\l\
|rl_120\ =\ (struct\ rhplevel\ *)\ _56;\l\
|_57\ =\ rl_120-\>number_of_nodes;\l\
|if\ (_57\ ==\ 0)\l\
\ \ goto\ \<bb\ 30\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 31\>;\ [INV]\l\
}"];

	fn_45_basic_block_30 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 30\>:\l\
|rhp_log\ (\"%s():\ level\ %d\ has\ no\ nodes\ shouldnothappen!\\n\",\ &__func__,\ level_78);\l\
goto\ \<bb\ 36\>;\ [INV]\l\
}"];

	fn_45_basic_block_31 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 31\>:\l\
|_58\ =\ rl_120-\>number_of_nodes;\l\
|rhp_log\ (\"%s():\ level\ %d\ has\ %d\ nodes\",\ &__func__,\ level_78,\ _58);\l\
|_59\ =\ rl_120-\>nodes;\l\
|if\ (_59\ !=\ 0B)\l\
\ \ goto\ \<bb\ 32\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 35\>;\ [INV]\l\
}"];

	fn_45_basic_block_36 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 36\>:\l\
|_67\ =\ rl_120-\>number_of_nodes;\l\
|i_128\ =\ i_74\ +\ _67;\l\
|level_129\ =\ level_78\ +\ 1;\l\
}"];

	fn_45_basic_block_32 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 32\>:\l\
|rhp_log\ (\"%s\",\ \"\ with\ numbers\");\l\
|ii_123\ =\ 0;\l\
goto\ \<bb\ 34\>;\ [INV]\l\
}"];

	fn_45_basic_block_35 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 35\>:\l\
|rhp_log\ (\"%s\",\ \"\\n\");\l\
}"];

	}
	subgraph cluster_45_4 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 4";
	labeljust=l;
	penwidth=2;
	fn_45_basic_block_27 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 27\>:\l\
|#\ spnn_77\ =\ PHI\ \<spnn_113(20),\ spnn_139(26)\>\l\
|if\ (spnn_77\ !=\ 0B)\l\
\ \ goto\ \<bb\ 21\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 28\>;\ [INV]\l\
}"];

	fn_45_basic_block_21 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 21\>:\l\
|_38\ =\ spnn_77-\>value;\l\
|nd_130\ =\ (struct\ rhpnode\ *)\ _38;\l\
|level_131\ =\ nd_130-\>level;\l\
|_39\ =\ (long\ long\ int)\ level_131;\l\
|rhp_sp_layers.163_40\ =\ rhp_sp_layers;\l\
|spn_133\ =\ rhp_sp_lookup\ (rhp_sp_layers.163_40,\ _39);\l\
|if\ (spn_133\ ==\ 0B)\l\
\ \ goto\ \<bb\ 22\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_45_basic_block_23 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 23\>:\l\
|_41\ =\ spn_133-\>value;\l\
|rl_134\ =\ (struct\ rhplevel\ *)\ _41;\l\
|_42\ =\ rl_134-\>nodes;\l\
|if\ (_42\ !=\ 0B)\l\
\ \ goto\ \<bb\ 24\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 25\>;\ [INV]\l\
}"];

	fn_45_basic_block_24 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 24\>:\l\
|_43\ =\ rl_134-\>nodes;\l\
|_44\ =\ rl_134-\>number_of_nodes;\l\
|_45\ =\ (long\ unsigned\ int)\ _44;\l\
|_46\ =\ _45\ *\ 8;\l\
|_47\ =\ _43\ +\ _46;\l\
|*_47\ =\ nd_130;\l\
|_48\ =\ rl_134-\>number_of_nodes;\l\
|_49\ =\ _48\ +\ 1;\l\
|rl_134-\>number_of_nodes\ =\ _49;\l\
goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_45_basic_block_25 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 25\>:\l\
|_50\ =\ nd_130-\>level;\l\
|_51\ =\ nd_130-\>innum;\l\
|rhp_log\ (\"%s():\ should\ have\ been\ nodes[]\ for\ node\ %d\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ _51,\ _50);\l\
}"];

	fn_45_basic_block_26 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 26\>:\l\
|_52\ =\ spnn_77-\>key;\l\
|rhp_sp_master_node_list.164_53\ =\ rhp_sp_master_node_list;\l\
|spnn_139\ =\ rhp_sp_next\ (rhp_sp_master_node_list.164_53,\ _52);\l\
}"];

	}
	subgraph cluster_45_3 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 3";
	labeljust=l;
	penwidth=2;
	fn_45_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|#\ i_73\ =\ PHI\ \<i_111(14),\ i_150(18)\>\l\
|#\ bt_81\ =\ PHI\ \<bt_79(14),\ bt_80(18)\>\l\
|rhp_nlevels.161_36\ =\ rhp_nlevels;\l\
|if\ (i_73\ \<\ rhp_nlevels.161_36)\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 20\>;\ [INV]\l\
}"];

	fn_45_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|_24\ =\ (long\ long\ int)\ i_73;\l\
|rhp_sp_layers.160_25\ =\ rhp_sp_layers;\l\
|spn_142\ =\ rhp_sp_lookup\ (rhp_sp_layers.160_25,\ _24);\l\
|_26\ =\ spn_142-\>value;\l\
|rl_143\ =\ (struct\ rhplevel\ *)\ _26;\l\
|_27\ =\ rl_143-\>number_of_nodes;\l\
|if\ (_27\ !=\ 0)\l\
\ \ goto\ \<bb\ 16\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_45_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|_28\ =\ rl_143-\>number_of_nodes;\l\
|rhp_log\ (\"%s():\ there\ are\ %d\ nodes\ in\ level\ %d\\n\",\ &__func__,\ _28,\ i_73);\l\
|_29\ =\ rl_143-\>number_of_nodes;\l\
|_30\ =\ (long\ unsigned\ int)\ _29;\l\
|_31\ =\ _30\ *\ 8;\l\
|_32\ =\ rhp_malloc\ (_31,\ &__func__,\ 2243);\l\
|rl_143-\>nodes\ =\ _32;\l\
|_33\ =\ rl_143-\>number_of_nodes;\l\
|_34\ =\ (long\ unsigned\ int)\ _33;\l\
|_35\ =\ _34\ *\ 8;\l\
|bt_148\ =\ bt_81\ +\ _35;\l\
goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_45_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|rhp_log\ (\"%s():\ there\ are\ no\ nodes\ in\ level\ %d\\n\",\ &__func__,\ i_73);\l\
}"];

	fn_45_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|#\ bt_80\ =\ PHI\ \<bt_148(16),\ bt_81(17)\>\l\
|rl_143-\>number_of_nodes\ =\ 0;\l\
|i_150\ =\ i_73\ +\ 1;\l\
}"];

	}
	subgraph cluster_45_2 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 2";
	labeljust=l;
	penwidth=2;
	fn_45_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|#\ spnn_76\ =\ PHI\ \<spnn_110(11),\ spnn_160(12)\>\l\
|if\ (spnn_76\ !=\ 0B)\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_45_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|_12\ =\ spnn_76-\>value;\l\
|nd_151\ =\ (struct\ rhpnode\ *)\ _12;\l\
|level_152\ =\ nd_151-\>level;\l\
|_13\ =\ (long\ long\ int)\ level_152;\l\
|rhp_sp_layers.156_14\ =\ rhp_sp_layers;\l\
|spn_154\ =\ rhp_sp_lookup\ (rhp_sp_layers.156_14,\ _13);\l\
|_15\ =\ spn_154-\>value;\l\
|rl_155\ =\ (struct\ rhplevel\ *)\ _15;\l\
|_16\ =\ rl_155-\>number_of_nodes;\l\
|_17\ =\ _16\ +\ 1;\l\
|rl_155-\>number_of_nodes\ =\ _17;\l\
|rhp_number_of_nodes.157_18\ =\ rhp_number_of_nodes;\l\
|_19\ =\ rhp_number_of_nodes.157_18\ +\ 1;\l\
|rhp_number_of_nodes\ =\ _19;\l\
|rhp_number_of_nodes.158_20\ =\ rhp_number_of_nodes;\l\
|_21\ =\ rl_155-\>number_of_nodes;\l\
|rhp_log\ (\"%s():\ now\ counted\ %d\ nodes\ in\ level\ %d\ total\ %d\\n\",\ &__func__,\ _21,\ i_72,\ rhp_number_of_nodes.158_20);\l\
|_22\ =\ spnn_76-\>key;\l\
|rhp_sp_master_node_list.159_23\ =\ rhp_sp_master_node_list;\l\
|spnn_160\ =\ rhp_sp_next\ (rhp_sp_master_node_list.159_23,\ _22);\l\
}"];

	}
	subgraph cluster_45_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_45_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ i_72\ =\ PHI\ \<i_108(8),\ i_168(9)\>\l\
|#\ bt_79\ =\ PHI\ \<bt_101(8),\ bt_163(9)\>\l\
|rhp_nlevels.154_10\ =\ rhp_nlevels;\l\
|if\ (i_72\ \<\ rhp_nlevels.154_10)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_45_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rl_162\ =\ rhp_malloc\ (16,\ &__func__,\ 2201);\l\
|bt_163\ =\ bt_79\ +\ 16;\l\
|rl_162-\>number_of_nodes\ =\ 0;\l\
|rl_162-\>nodes\ =\ 0B;\l\
|rhp_log\ (\"%s():\ creating\ entry\ for\ level\ %d\\n\",\ &__func__,\ i_72);\l\
|rl.152_7\ =\ (long\ long\ int)\ rl_162;\l\
|_8\ =\ (long\ long\ int)\ i_72;\l\
|rhp_sp_layers.153_9\ =\ rhp_sp_layers;\l\
|rhp_sp_insert\ (rhp_sp_layers.153_9,\ _8,\ rl.152_7);\l\
|i_168\ =\ i_72\ +\ 1;\l\
}"];

	}
	fn_45_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_45_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_45_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|i_94\ =\ 0;\l\
|ii_95\ =\ 0;\l\
|rl_96\ =\ 0B;\l\
|spn_97\ =\ 0B;\l\
|spnn_98\ =\ 0B;\l\
|nd_99\ =\ 0B;\l\
|level_100\ =\ 0;\l\
|bt_101\ =\ 0;\l\
|rhp_number_of_nodes\ =\ 0;\l\
|rhp_sp_master_node_list.148_1\ =\ rhp_sp_master_node_list;\l\
|_2\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.148_1);\l\
|if\ (_2\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_45_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ shouldnothappen!\\n\",\ &__func__);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 39\>;\ [INV]\l\
}"];

	fn_45_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_nlevels.149_3\ =\ rhp_nlevels;\l\
|if\ (rhp_nlevels.149_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_45_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ no\ levels\ shouldnothappen!\\n\",\ &__func__);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 39\>;\ [INV]\l\
}"];

	fn_45_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_sp_layers.150_4\ =\ rhp_sp_layers;\l\
|if\ (rhp_sp_layers.150_4\ !=\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_45_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_sp_layers.151_5\ =\ rhp_sp_layers;\l\
|rhp_log\ (\"%s():\ rhp_sp_layers\ %p\ shouldnothappen!\\n\",\ &__func__,\ rhp_sp_layers.151_5);\l\
}"];

	fn_45_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|_6\ =\ rhp_sp_new\ (1);\l\
|rhp_sp_layers\ =\ _6;\l\
|i_108\ =\ 0;\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_45_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|rhp_sp_master_node_list.155_11\ =\ rhp_sp_master_node_list;\l\
|spnn_110\ =\ rhp_sp_min\ (rhp_sp_master_node_list.155_11);\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_45_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|i_111\ =\ 0;\l\
goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_45_basic_block_20 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 20\>:\l\
|rhp_sp_master_node_list.162_37\ =\ rhp_sp_master_node_list;\l\
|spnn_113\ =\ rhp_sp_min\ (rhp_sp_master_node_list.162_37);\l\
goto\ \<bb\ 27\>;\ [INV]\l\
}"];

	fn_45_basic_block_22 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 22\>:\l\
|rhp_log\ (\"%s():\ no\ spn\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ level_131);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 39\>;\ [INV]\l\
}"];

	fn_45_basic_block_28 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 28\>:\l\
|i_114\ =\ 0;\l\
|level_115\ =\ 0;\l\
goto\ \<bb\ 37\>;\ [INV]\l\
}"];

	fn_45_basic_block_38 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 38\>:\l\
|rhp_number_of_nodes.167_69\ =\ rhp_number_of_nodes;\l\
|rhp_maxlevel.168_70\ =\ rhp_maxlevel;\l\
|rhp_nlevels.169_71\ =\ rhp_nlevels;\l\
|rhp_log\ (\"%s():\ in\ %d\ levels\ (0...%d)\ are\ %d\ nodes\ and\ %d\ number_of_nodes\\n\",\ &__func__,\ rhp_nlevels.169_71,\ rhp_maxlevel.168_70,\ i_74,\ rhp_number_of_nodes.167_69);\l\
|rhp_log\ (\"%s():\ using\ %lu\ bytes\ for\ the\ level\ data\\n\",\ &__func__,\ bt_81);\l\
}"];

	fn_45_basic_block_39 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 39\>:\l\
|\<L37\>:\l\
|return;\l\
}"];

	fn_45_basic_block_0:s -> fn_45_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_2:s -> fn_45_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_2:s -> fn_45_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_3:s -> fn_45_basic_block_39:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_4:s -> fn_45_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_4:s -> fn_45_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_5:s -> fn_45_basic_block_39:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_6:s -> fn_45_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_6:s -> fn_45_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_7:s -> fn_45_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_8:s -> fn_45_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_9:s -> fn_45_basic_block_10:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_45_basic_block_10:s -> fn_45_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_10:s -> fn_45_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_11:s -> fn_45_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_12:s -> fn_45_basic_block_13:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_45_basic_block_13:s -> fn_45_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_13:s -> fn_45_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_14:s -> fn_45_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_15:s -> fn_45_basic_block_16:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_15:s -> fn_45_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_16:s -> fn_45_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_17:s -> fn_45_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_18:s -> fn_45_basic_block_19:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_45_basic_block_19:s -> fn_45_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_19:s -> fn_45_basic_block_20:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_20:s -> fn_45_basic_block_27:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_21:s -> fn_45_basic_block_22:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_21:s -> fn_45_basic_block_23:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_22:s -> fn_45_basic_block_39:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_23:s -> fn_45_basic_block_24:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_23:s -> fn_45_basic_block_25:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_24:s -> fn_45_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_25:s -> fn_45_basic_block_26:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_26:s -> fn_45_basic_block_27:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_45_basic_block_27:s -> fn_45_basic_block_21:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_27:s -> fn_45_basic_block_28:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_28:s -> fn_45_basic_block_37:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_29:s -> fn_45_basic_block_30:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_29:s -> fn_45_basic_block_31:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_30:s -> fn_45_basic_block_36:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_31:s -> fn_45_basic_block_32:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_31:s -> fn_45_basic_block_35:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_32:s -> fn_45_basic_block_34:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_33:s -> fn_45_basic_block_34:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_45_basic_block_34:s -> fn_45_basic_block_33:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_34:s -> fn_45_basic_block_35:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_35:s -> fn_45_basic_block_36:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_36:s -> fn_45_basic_block_37:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_45_basic_block_37:s -> fn_45_basic_block_29:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_37:s -> fn_45_basic_block_38:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_38:s -> fn_45_basic_block_39:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_45_basic_block_39:s -> fn_45_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_45_basic_block_0:s -> fn_45_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_empty_sp_layers" {
	style="dashed";
	color="black";
	label="rhp_empty_sp_layers ()";
	subgraph cluster_44_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	subgraph cluster_44_2 {
	style="filled";
	color="darkgreen";
	fillcolor="grey77";
	label="loop 2";
	labeljust=l;
	penwidth=2;
	fn_44_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|#\ i_26\ =\ PHI\ \<i_46(10),\ i_57(15)\>\l\
|_21\ =\ rl_44-\>number_of_nodes;\l\
|if\ (i_26\ \<\ _21)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_44_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|_11\ =\ rl_44-\>nodes;\l\
|_12\ =\ (long\ unsigned\ int)\ i_26;\l\
|_13\ =\ _12\ *\ 8;\l\
|_14\ =\ _11\ +\ _13;\l\
|nd_50\ =\ *_14;\l\
|_15\ =\ nd_50-\>up_degree;\l\
|if\ (_15\ !=\ 0)\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_44_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|_16\ =\ nd_50-\>up_edges;\l\
|_17\ =\ rhp_free\ (_16,\ &__func__,\ 2148);\l\
|nd_50-\>up_edges\ =\ _17;\l\
|nd_50-\>up_degree\ =\ 0;\l\
}"];

	fn_44_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|_18\ =\ nd_50-\>down_degree;\l\
|if\ (_18\ !=\ 0)\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_44_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|_19\ =\ nd_50-\>down_edges;\l\
|_20\ =\ rhp_free\ (_19,\ &__func__,\ 2153);\l\
|nd_50-\>down_edges\ =\ _20;\l\
|nd_50-\>down_degree\ =\ 0;\l\
}"];

	fn_44_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|i_57\ =\ i_26\ +\ 1;\l\
}"];

	}
	fn_44_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|#\ level_25\ =\ PHI\ \<level_41(4),\ level_59(18)\>\l\
|rhp_nlevels.147_24\ =\ rhp_nlevels;\l\
|if\ (level_25\ \<\ rhp_nlevels.147_24)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 20\>;\ [INV]\l\
}"];

	fn_44_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_4\ =\ (long\ long\ int)\ level_25;\l\
|rhp_sp_layers.145_5\ =\ rhp_sp_layers;\l\
|spn_43\ =\ rhp_sp_lookup\ (rhp_sp_layers.145_5,\ _4);\l\
|if\ (spn_43\ ==\ 0B)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_44_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_nlevels.146_6\ =\ rhp_nlevels;\l\
|if\ (rhp_nlevels.146_6\ \>\ 1)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_44_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_7\ =\ spn_43-\>value;\l\
|rl_44\ =\ (struct\ rhplevel\ *)\ _7;\l\
|_8\ =\ rl_44-\>nodes;\l\
|_9\ =\ rl_44-\>number_of_nodes;\l\
|rhp_log\ (\"%s():\ clear\ level\ %d\ with\ %d\ nodes\ %p\\n\",\ &__func__,\ level_25,\ _9,\ _8);\l\
|_10\ =\ rl_44-\>nodes;\l\
|if\ (_10\ !=\ 0B)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_44_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ could\ not\ get\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ level_25);\l\
}"];

	fn_44_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|//\ predicted\ unlikely\ by\ continue\ predictor.\l\
goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_44_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|i_46\ =\ 0;\l\
goto\ \<bb\ 16\>;\ [INV]\l\
}"];

	fn_44_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|level_59\ =\ level_25\ +\ 1;\l\
}"];

	fn_44_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|_22\ =\ rl_44-\>nodes;\l\
|_23\ =\ rhp_free\ (_22,\ &__func__,\ 2158);\l\
|rl_44-\>nodes\ =\ _23;\l\
|rl_44-\>number_of_nodes\ =\ 0;\l\
}"];

	}
	fn_44_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_44_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_44_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_34\ =\ 0B;\l\
|rl_35\ =\ 0B;\l\
|nd_36\ =\ 0B;\l\
|level_37\ =\ 0;\l\
|i_38\ =\ 0;\l\
|rhp_sp_layers.142_1\ =\ rhp_sp_layers;\l\
|rhp_nlevels.143_2\ =\ rhp_nlevels;\l\
|rhp_log\ (\"%s():\ %d\ levels\ to\ clear\ in\ sp\ %p\\n\",\ &__func__,\ rhp_nlevels.143_2,\ rhp_sp_layers.142_1);\l\
|rhp_sp_layers.144_3\ =\ rhp_sp_layers;\l\
|if\ (rhp_sp_layers.144_3\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_44_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 21\>;\ [INV]\l\
}"];

	fn_44_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|level_41\ =\ 0;\l\
goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_44_basic_block_20 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 20\>:\l\
}"];

	fn_44_basic_block_21 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 21\>:\l\
|\<L19\>:\l\
|return;\l\
}"];

	fn_44_basic_block_0:s -> fn_44_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_44_basic_block_2:s -> fn_44_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_2:s -> fn_44_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_3:s -> fn_44_basic_block_21:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_44_basic_block_4:s -> fn_44_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_44_basic_block_5:s -> fn_44_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_5:s -> fn_44_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_6:s -> fn_44_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_6:s -> fn_44_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_7:s -> fn_44_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_44_basic_block_8:s -> fn_44_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_44_basic_block_9:s -> fn_44_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_9:s -> fn_44_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_10:s -> fn_44_basic_block_16:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_44_basic_block_11:s -> fn_44_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_11:s -> fn_44_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_12:s -> fn_44_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_44_basic_block_13:s -> fn_44_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_13:s -> fn_44_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_14:s -> fn_44_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_44_basic_block_15:s -> fn_44_basic_block_16:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_44_basic_block_16:s -> fn_44_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_16:s -> fn_44_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_17:s -> fn_44_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_44_basic_block_18:s -> fn_44_basic_block_19:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_44_basic_block_19:s -> fn_44_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_19:s -> fn_44_basic_block_20:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_20:s -> fn_44_basic_block_21:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_44_basic_block_21:s -> fn_44_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_44_basic_block_0:s -> fn_44_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_empty_sp_between_layers" {
	style="dashed";
	color="black";
	label="rhp_empty_sp_between_layers ()";
	subgraph cluster_43_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_43_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|#\ spn_11\ =\ PHI\ \<spn_20(2),\ spn_26(5)\>\l\
|if\ (spn_11\ !=\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_43_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_4\ =\ spn_11-\>value;\l\
|is_21\ =\ (struct\ rhp_inter_layer_struct\ *)\ _4;\l\
|_5\ =\ is_21-\>eedges;\l\
|rhp_log\ (\"%s():\ free\ eedges\ %p\\n\",\ &__func__,\ _5);\l\
|_6\ =\ is_21-\>eedges;\l\
|if\ (_6\ !=\ 0B)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_43_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_7\ =\ is_21-\>eedges;\l\
|_8\ =\ rhp_free\ (_7,\ &__func__,\ 2098);\l\
|is_21-\>eedges\ =\ _8;\l\
}"];

	fn_43_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_9\ =\ spn_11-\>key;\l\
|rhp_sp_between_layers.141_10\ =\ rhp_sp_between_layers;\l\
|spn_26\ =\ rhp_sp_next\ (rhp_sp_between_layers.141_10,\ _9);\l\
}"];

	}
	fn_43_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_43_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_43_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_14\ =\ 0B;\l\
|is_15\ =\ 0B;\l\
|rhp_sp_between_layers.139_1\ =\ rhp_sp_between_layers;\l\
|_2\ =\ rhp_sp_has_data\ (rhp_sp_between_layers.139_1);\l\
|rhp_log\ (\"%s():\ data\ is\ %d\\n\",\ &__func__,\ _2);\l\
|rhp_sp_between_layers.140_3\ =\ rhp_sp_between_layers;\l\
|spn_20\ =\ rhp_sp_min\ (rhp_sp_between_layers.140_3);\l\
goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_43_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
}"];

	fn_43_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|\<L5\>:\l\
|return;\l\
}"];

	fn_43_basic_block_0:s -> fn_43_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_43_basic_block_2:s -> fn_43_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_43_basic_block_3:s -> fn_43_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_43_basic_block_3:s -> fn_43_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_43_basic_block_4:s -> fn_43_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_43_basic_block_5:s -> fn_43_basic_block_6:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_43_basic_block_6:s -> fn_43_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_43_basic_block_6:s -> fn_43_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_43_basic_block_7:s -> fn_43_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_43_basic_block_8:s -> fn_43_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_43_basic_block_0:s -> fn_43_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_empty_sp_master_edge_list" {
	style="dashed";
	color="black";
	label="rhp_empty_sp_master_edge_list ()";
	fn_42_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_42_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_42_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|rhp_log\ (\"%s():\\n\",\ &__func__);\l\
}"];

	fn_42_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|\<L0\>:\l\
|return;\l\
}"];

	fn_42_basic_block_0:s -> fn_42_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_42_basic_block_2:s -> fn_42_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_42_basic_block_3:s -> fn_42_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_42_basic_block_0:s -> fn_42_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_empty_sp_master_node_list" {
	style="dashed";
	color="black";
	label="rhp_empty_sp_master_node_list ()";
	subgraph cluster_41_2 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 2";
	labeljust=l;
	penwidth=2;
	fn_41_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ spn_17\ =\ PHI\ \<spn_29(9),\ spn_33(10)\>\l\
|if\ (spn_17\ !=\ 0B)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_41_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_12\ =\ spn_17-\>value;\l\
|_13\ =\ (void\ *)\ _12;\l\
|rhp_free\ (_13,\ &__func__,\ 2066);\l\
|spn_17-\>value\ =\ 0;\l\
|_14\ =\ spn_17-\>key;\l\
|rhp_sp_master_node_list_sorted.138_15\ =\ rhp_sp_master_node_list_sorted;\l\
|spn_33\ =\ rhp_sp_next\ (rhp_sp_master_node_list_sorted.138_15,\ _14);\l\
}"];

	}
	subgraph cluster_41_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_41_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ spn_16\ =\ PHI\ \<spn_27(2),\ spn_42(7)\>\l\
|if\ (spn_16\ !=\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_41_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_2\ =\ spn_16-\>value;\l\
|nd_34\ =\ (struct\ rhpnode\ *)\ _2;\l\
|_3\ =\ nd_34-\>up_edges;\l\
|if\ (_3\ !=\ 0B)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_41_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_4\ =\ nd_34-\>up_edges;\l\
|_5\ =\ rhp_free\ (_4,\ &__func__,\ 2050);\l\
|nd_34-\>up_edges\ =\ _5;\l\
|nd_34-\>up_degree\ =\ 0;\l\
}"];

	fn_41_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_6\ =\ nd_34-\>down_edges;\l\
|if\ (_6\ !=\ 0B)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_41_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_7\ =\ nd_34-\>down_edges;\l\
|_8\ =\ rhp_free\ (_7,\ &__func__,\ 2055);\l\
|nd_34-\>down_edges\ =\ _8;\l\
|nd_34-\>down_degree\ =\ 0;\l\
}"];

	fn_41_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_9\ =\ spn_16-\>key;\l\
|rhp_sp_master_node_list.136_10\ =\ rhp_sp_master_node_list;\l\
|spn_42\ =\ rhp_sp_next\ (rhp_sp_master_node_list.136_10,\ _9);\l\
}"];

	}
	fn_41_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_41_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_41_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_22\ =\ 0B;\l\
|nd_23\ =\ 0B;\l\
|rhp_log\ (\"%s():\\n\",\ &__func__);\l\
|rhp_sp_master_node_list.135_1\ =\ rhp_sp_master_node_list;\l\
|spn_27\ =\ rhp_sp_min\ (rhp_sp_master_node_list.135_1);\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_41_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_sp_master_node_list_sorted.137_11\ =\ rhp_sp_master_node_list_sorted;\l\
|spn_29\ =\ rhp_sp_min\ (rhp_sp_master_node_list_sorted.137_11);\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_41_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
}"];

	fn_41_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|\<L10\>:\l\
|return;\l\
}"];

	fn_41_basic_block_0:s -> fn_41_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_41_basic_block_2:s -> fn_41_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_41_basic_block_3:s -> fn_41_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_41_basic_block_3:s -> fn_41_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_41_basic_block_4:s -> fn_41_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_41_basic_block_5:s -> fn_41_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_41_basic_block_5:s -> fn_41_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_41_basic_block_6:s -> fn_41_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_41_basic_block_7:s -> fn_41_basic_block_8:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_41_basic_block_8:s -> fn_41_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_41_basic_block_8:s -> fn_41_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_41_basic_block_9:s -> fn_41_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_41_basic_block_10:s -> fn_41_basic_block_11:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_41_basic_block_11:s -> fn_41_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_41_basic_block_11:s -> fn_41_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_41_basic_block_12:s -> fn_41_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_41_basic_block_13:s -> fn_41_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_41_basic_block_0:s -> fn_41_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_empty_best_crossings_order" {
	style="dashed";
	color="black";
	label="rhp_empty_best_crossings_order ()";
	subgraph cluster_40_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_40_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ level_31\ =\ PHI\ \<level_41(4),\ level_46(7)\>\l\
|rhp_nlevels.131_24\ =\ rhp_nlevels;\l\
|if\ (level_31\ \<\ rhp_nlevels.131_24)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_40_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_best_crossings_order.128_6\ =\ rhp_best_crossings_order;\l\
|_7\ =\ rhp_best_crossings_order.128_6-\>node_ptr_on_layer;\l\
|_8\ =\ (long\ unsigned\ int)\ level_31;\l\
|_9\ =\ _8\ *\ 8;\l\
|_10\ =\ _7\ +\ _9;\l\
|_11\ =\ *_10;\l\
|if\ (_11\ !=\ 0B)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_40_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_best_crossings_order.129_12\ =\ rhp_best_crossings_order;\l\
|_13\ =\ rhp_best_crossings_order.129_12-\>node_ptr_on_layer;\l\
|_14\ =\ (long\ unsigned\ int)\ level_31;\l\
|_15\ =\ _14\ *\ 8;\l\
|_16\ =\ _13\ +\ _15;\l\
|_17\ =\ *_16;\l\
|rhp_best_crossings_order.130_18\ =\ rhp_best_crossings_order;\l\
|_19\ =\ rhp_best_crossings_order.130_18-\>node_ptr_on_layer;\l\
|_20\ =\ (long\ unsigned\ int)\ level_31;\l\
|_21\ =\ _20\ *\ 8;\l\
|_22\ =\ _19\ +\ _21;\l\
|_23\ =\ rhp_free\ (_17,\ &__func__,\ 2022);\l\
|*_22\ =\ _23;\l\
}"];

	fn_40_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|level_46\ =\ level_31\ +\ 1;\l\
}"];

	}
	fn_40_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_40_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_40_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|level_36\ =\ 0;\l\
|rhp_log\ (\"%s():\\n\",\ &__func__);\l\
|rhp_best_crossings_order.125_1\ =\ rhp_best_crossings_order;\l\
|if\ (rhp_best_crossings_order.125_1\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_40_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ no\ data\\n\",\ &__func__);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_40_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_best_crossings_order.126_2\ =\ rhp_best_crossings_order;\l\
|_3\ =\ rhp_best_crossings_order.126_2-\>num_nodes_on_layer;\l\
|rhp_best_crossings_order.127_4\ =\ rhp_best_crossings_order;\l\
|_5\ =\ rhp_free\ (_3,\ &__func__,\ 2014);\l\
|rhp_best_crossings_order.127_4-\>num_nodes_on_layer\ =\ _5;\l\
|level_41\ =\ 0;\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_40_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_best_crossings_order.132_25\ =\ rhp_best_crossings_order;\l\
|_26\ =\ rhp_best_crossings_order.132_25-\>node_ptr_on_layer;\l\
|if\ (_26\ !=\ 0B)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_40_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|rhp_best_crossings_order.133_27\ =\ rhp_best_crossings_order;\l\
|_28\ =\ rhp_best_crossings_order.133_27-\>node_ptr_on_layer;\l\
|rhp_best_crossings_order.134_29\ =\ rhp_best_crossings_order;\l\
|_30\ =\ rhp_free\ (_28,\ &__func__,\ 2029);\l\
|rhp_best_crossings_order.134_29-\>node_ptr_on_layer\ =\ _30;\l\
}"];

	fn_40_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
}"];

	fn_40_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|\<L9\>:\l\
|return;\l\
}"];

	fn_40_basic_block_0:s -> fn_40_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_40_basic_block_2:s -> fn_40_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_40_basic_block_2:s -> fn_40_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_40_basic_block_3:s -> fn_40_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_40_basic_block_4:s -> fn_40_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_40_basic_block_5:s -> fn_40_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_40_basic_block_5:s -> fn_40_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_40_basic_block_6:s -> fn_40_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_40_basic_block_7:s -> fn_40_basic_block_8:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_40_basic_block_8:s -> fn_40_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_40_basic_block_8:s -> fn_40_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_40_basic_block_9:s -> fn_40_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_40_basic_block_9:s -> fn_40_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_40_basic_block_10:s -> fn_40_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_40_basic_block_11:s -> fn_40_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_40_basic_block_12:s -> fn_40_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_40_basic_block_0:s -> fn_40_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_log" {
	style="dashed";
	color="black";
	label="rhp_log ()";
	subgraph cluster_39_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_39_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|#\ p_9\ =\ PHI\ \<p_17(2),\ p_30(5)\>\l\
|#\ q_11\ =\ PHI\ \<q_18(2),\ q_10(5)\>\l\
|_2\ =\ *p_9;\l\
|if\ (_2\ !=\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_39_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_1\ =\ *p_9;\l\
|if\ (_1\ ==\ 33)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_39_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|q_29\ =\ p_9;\l\
}"];

	fn_39_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|#\ q_10\ =\ PHI\ \<q_11(3),\ q_29(4)\>\l\
|p_30\ =\ p_9\ +\ 1;\l\
}"];

	}
	fn_39_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_39_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_39_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|p_14\ =\ 0B;\l\
|q_15\ =\ 0B;\l\
|p_17\ =\ format_16(D);\l\
|q_18\ =\ 0B;\l\
goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_39_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|if\ (q_11\ !=\ 0B)\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_39_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|__builtin_va_start\ (&ap,\ 0);\l\
|stderr.119_3\ =\ stderr;\l\
|vfprintf\ (stderr.119_3,\ format_16(D),\ &ap);\l\
|__builtin_va_end\ (&ap);\l\
|stderr.120_4\ =\ stderr;\l\
|fflush\ (stderr.120_4);\l\
}"];

	fn_39_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_dolog.121_5\ =\ rhp_dolog;\l\
|if\ (rhp_dolog.121_5\ ==\ 0)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_39_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_39_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|rhp_logstream.122_6\ =\ rhp_logstream;\l\
|if\ (rhp_logstream.122_6\ ==\ 0B)\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_39_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_39_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|__builtin_va_start\ (&ap,\ 0);\l\
|rhp_logstream.123_7\ =\ rhp_logstream;\l\
|vfprintf\ (rhp_logstream.123_7,\ format_16(D),\ &ap);\l\
|__builtin_va_end\ (&ap);\l\
|rhp_logstream.124_8\ =\ rhp_logstream;\l\
|fflush\ (rhp_logstream.124_8);\l\
}"];

	fn_39_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|ap\ =\{v\}\ \{CLOBBER\};\l\
}"];

	fn_39_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|\<L12\>:\l\
|return;\l\
}"];

	fn_39_basic_block_0:s -> fn_39_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_39_basic_block_2:s -> fn_39_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_39_basic_block_3:s -> fn_39_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_3:s -> fn_39_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_4:s -> fn_39_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_39_basic_block_5:s -> fn_39_basic_block_6:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_39_basic_block_6:s -> fn_39_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_6:s -> fn_39_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_7:s -> fn_39_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_7:s -> fn_39_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_8:s -> fn_39_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_39_basic_block_9:s -> fn_39_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_9:s -> fn_39_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_10:s -> fn_39_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_39_basic_block_11:s -> fn_39_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_11:s -> fn_39_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_12:s -> fn_39_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_39_basic_block_13:s -> fn_39_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_39_basic_block_14:s -> fn_39_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_39_basic_block_15:s -> fn_39_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_39_basic_block_0:s -> fn_39_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_sp" {
	style="dashed";
	color="black";
	label="rhp_sp_sp ()";
	subgraph cluster_38_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_38_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|label:\l\
|n_56\ =\ sp_54(D)-\>root;\l\
|if\ (n_56\ ==\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_38_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_verbose.115_2\ =\ rhp_verbose;\l\
|if\ (rhp_verbose.115_2\ !=\ 0)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_38_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|key.116_3\ =\ (long\ unsigned\ int)\ key_57(D);\l\
|_4\ =\ n_56-\>key;\l\
|_5\ =\ (long\ unsigned\ int)\ _4;\l\
|rhp_log\ (\"%s():\ at\ %li\ when\ search\ for\ %li\\n\",\ &__func__,\ _5,\ key.116_3);\l\
}"];

	fn_38_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_6\ =\ n_56-\>key;\l\
|if\ (key_57(D)\ ==\ _6)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_38_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|_7\ =\ n_56-\>key;\l\
|if\ (key_57(D)\ \<\ _7)\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_38_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|c_60\ =\ n_56-\>l;\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_38_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|c_59\ =\ n_56-\>r;\l\
}"];

	fn_38_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|#\ c_45\ =\ PHI\ \<c_60(13),\ c_59(14)\>\l\
|if\ (c_45\ ==\ 0B)\l\
\ \ goto\ \<bb\ 16\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_38_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|_13\ =\ c_45-\>key;\l\
|if\ (key_57(D)\ ==\ _13)\l\
\ \ goto\ \<bb\ 24\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 20\>;\ [INV]\l\
}"];

	fn_38_basic_block_20 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 20\>:\l\
|_14\ =\ c_45-\>key;\l\
|if\ (key_57(D)\ \<\ _14)\l\
\ \ goto\ \<bb\ 21\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 22\>;\ [INV]\l\
}"];

	fn_38_basic_block_21 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 21\>:\l\
|_15\ =\ c_45-\>l;\l\
|if\ (_15\ ==\ 0B)\l\
\ \ goto\ \<bb\ 24\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 22\>;\ [INV]\l\
}"];

	fn_38_basic_block_22 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 22\>:\l\
|_16\ =\ c_45-\>key;\l\
|if\ (key_57(D)\ \>\ _16)\l\
\ \ goto\ \<bb\ 23\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 28\>;\ [INV]\l\
}"];

	fn_38_basic_block_23 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 23\>:\l\
|_17\ =\ c_45-\>r;\l\
|if\ (_17\ ==\ 0B)\l\
\ \ goto\ \<bb\ 24\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 28\>;\ [INV]\l\
}"];

	fn_38_basic_block_28 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 28\>:\l\
|_21\ =\ n_56-\>key;\l\
|if\ (key_57(D)\ \<\ _21)\l\
\ \ goto\ \<bb\ 29\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 31\>;\ [INV]\l\
}"];

	fn_38_basic_block_29 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 29\>:\l\
|_22\ =\ c_45-\>key;\l\
|if\ (key_57(D)\ \<\ _22)\l\
\ \ goto\ \<bb\ 30\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 31\>;\ [INV]\l\
}"];

	fn_38_basic_block_31 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 31\>:\l\
|_27\ =\ n_56-\>key;\l\
|if\ (key_57(D)\ \>\ _27)\l\
\ \ goto\ \<bb\ 32\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 34\>;\ [INV]\l\
}"];

	fn_38_basic_block_30 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 30\>:\l\
|_23\ =\ c_45-\>l;\l\
|_24\ =\ &n_56-\>l;\l\
|rhp_sp_sp_rl\ (_24,\ c_45,\ _23);\l\
|_25\ =\ n_56-\>l;\l\
|_26\ =\ &sp_54(D)-\>root;\l\
|rhp_sp_sp_rl\ (_26,\ n_56,\ _25);\l\
goto\ \<bb\ 40\>;\ [INV]\l\
}"];

	fn_38_basic_block_32 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 32\>:\l\
|_28\ =\ c_45-\>key;\l\
|if\ (key_57(D)\ \>\ _28)\l\
\ \ goto\ \<bb\ 33\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 34\>;\ [INV]\l\
}"];

	fn_38_basic_block_34 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 34\>:\l\
|_33\ =\ n_56-\>key;\l\
|if\ (key_57(D)\ \<\ _33)\l\
\ \ goto\ \<bb\ 35\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 37\>;\ [INV]\l\
}"];

	fn_38_basic_block_40 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 40\>:\l\
|//\ predicted\ unlikely\ by\ goto\ predictor.\l\
goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_38_basic_block_33 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 33\>:\l\
|_29\ =\ c_45-\>r;\l\
|_30\ =\ &n_56-\>r;\l\
|rhp_sp_sp_rr\ (_30,\ c_45,\ _29);\l\
|_31\ =\ n_56-\>r;\l\
|_32\ =\ &sp_54(D)-\>root;\l\
|rhp_sp_sp_rr\ (_32,\ n_56,\ _31);\l\
goto\ \<bb\ 40\>;\ [INV]\l\
}"];

	fn_38_basic_block_35 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 35\>:\l\
|_34\ =\ c_45-\>key;\l\
|if\ (key_57(D)\ \>\ _34)\l\
\ \ goto\ \<bb\ 36\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 37\>;\ [INV]\l\
}"];

	fn_38_basic_block_37 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 37\>:\l\
|_39\ =\ n_56-\>key;\l\
|if\ (key_57(D)\ \>\ _39)\l\
\ \ goto\ \<bb\ 38\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 40\>;\ [INV]\l\
}"];

	fn_38_basic_block_36 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 36\>:\l\
|_35\ =\ c_45-\>r;\l\
|_36\ =\ &n_56-\>l;\l\
|rhp_sp_sp_rr\ (_36,\ c_45,\ _35);\l\
|_37\ =\ n_56-\>l;\l\
|_38\ =\ &sp_54(D)-\>root;\l\
|rhp_sp_sp_rl\ (_38,\ n_56,\ _37);\l\
goto\ \<bb\ 40\>;\ [INV]\l\
}"];

	fn_38_basic_block_38 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 38\>:\l\
|_40\ =\ c_45-\>key;\l\
|if\ (key_57(D)\ \<\ _40)\l\
\ \ goto\ \<bb\ 39\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 40\>;\ [INV]\l\
}"];

	fn_38_basic_block_39 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 39\>:\l\
|_41\ =\ c_45-\>l;\l\
|_42\ =\ &n_56-\>r;\l\
|rhp_sp_sp_rl\ (_42,\ c_45,\ _41);\l\
|_43\ =\ n_56-\>r;\l\
|_44\ =\ &sp_54(D)-\>root;\l\
|rhp_sp_sp_rr\ (_44,\ n_56,\ _43);\l\
}"];

	}
	fn_38_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_38_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_38_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|n_52\ =\ 0B;\l\
|c_53\ =\ 0B;\l\
|if\ (sp_54(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_38_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 41\>;\ [INV]\l\
}"];

	fn_38_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_1\ =\ sp_54(D)-\>root;\l\
|if\ (_1\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_38_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 41\>;\ [INV]\l\
}"];

	fn_38_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 41\>;\ [INV]\l\
}"];

	fn_38_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 41\>;\ [INV]\l\
}"];

	fn_38_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|rhp_verbose.117_8\ =\ rhp_verbose;\l\
|if\ (rhp_verbose.117_8\ !=\ 0)\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_38_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|key.118_9\ =\ (long\ unsigned\ int)\ key_57(D);\l\
|_10\ =\ sp_54(D)-\>root;\l\
|_11\ =\ _10-\>key;\l\
|_12\ =\ (long\ unsigned\ int)\ _11;\l\
|rhp_log\ (\"%s():\ c=\<nil\>\ at\ %li\ when\ search\ for\ %li\\n\",\ &__func__,\ _12,\ key.118_9);\l\
}"];

	fn_38_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 41\>;\ [INV]\l\
}"];

	fn_38_basic_block_24 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 24\>:\l\
|_18\ =\ n_56-\>key;\l\
|if\ (key_57(D)\ \<\ _18)\l\
\ \ goto\ \<bb\ 25\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 26\>;\ [INV]\l\
}"];

	fn_38_basic_block_25 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 25\>:\l\
|_19\ =\ &sp_54(D)-\>root;\l\
|rhp_sp_sp_rl\ (_19,\ n_56,\ c_45);\l\
goto\ \<bb\ 27\>;\ [INV]\l\
}"];

	fn_38_basic_block_26 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 26\>:\l\
|_20\ =\ &sp_54(D)-\>root;\l\
|rhp_sp_sp_rr\ (_20,\ n_56,\ c_45);\l\
}"];

	fn_38_basic_block_27 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 27\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 41\>;\ [INV]\l\
}"];

	fn_38_basic_block_41 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 41\>:\l\
|\<L44\>:\l\
|return;\l\
}"];

	fn_38_basic_block_0:s -> fn_38_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_2:s -> fn_38_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_2:s -> fn_38_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_3:s -> fn_38_basic_block_41:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_4:s -> fn_38_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_4:s -> fn_38_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_5:s -> fn_38_basic_block_41:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_6:s -> fn_38_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_6:s -> fn_38_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_7:s -> fn_38_basic_block_41:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_8:s -> fn_38_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_8:s -> fn_38_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_9:s -> fn_38_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_10:s -> fn_38_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_10:s -> fn_38_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_11:s -> fn_38_basic_block_41:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_12:s -> fn_38_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_12:s -> fn_38_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_13:s -> fn_38_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_14:s -> fn_38_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_15:s -> fn_38_basic_block_16:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_15:s -> fn_38_basic_block_19:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_16:s -> fn_38_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_16:s -> fn_38_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_17:s -> fn_38_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_18:s -> fn_38_basic_block_41:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_19:s -> fn_38_basic_block_24:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_19:s -> fn_38_basic_block_20:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_20:s -> fn_38_basic_block_21:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_20:s -> fn_38_basic_block_22:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_21:s -> fn_38_basic_block_24:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_21:s -> fn_38_basic_block_22:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_22:s -> fn_38_basic_block_23:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_22:s -> fn_38_basic_block_28:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_23:s -> fn_38_basic_block_24:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_23:s -> fn_38_basic_block_28:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_24:s -> fn_38_basic_block_25:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_24:s -> fn_38_basic_block_26:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_25:s -> fn_38_basic_block_27:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_26:s -> fn_38_basic_block_27:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_27:s -> fn_38_basic_block_41:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_28:s -> fn_38_basic_block_29:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_28:s -> fn_38_basic_block_31:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_29:s -> fn_38_basic_block_30:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_29:s -> fn_38_basic_block_31:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_30:s -> fn_38_basic_block_40:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_31:s -> fn_38_basic_block_32:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_31:s -> fn_38_basic_block_34:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_32:s -> fn_38_basic_block_33:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_32:s -> fn_38_basic_block_34:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_33:s -> fn_38_basic_block_40:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_34:s -> fn_38_basic_block_35:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_34:s -> fn_38_basic_block_37:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_35:s -> fn_38_basic_block_36:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_35:s -> fn_38_basic_block_37:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_36:s -> fn_38_basic_block_40:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_37:s -> fn_38_basic_block_38:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_37:s -> fn_38_basic_block_40:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_38:s -> fn_38_basic_block_39:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_38:s -> fn_38_basic_block_40:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_39:s -> fn_38_basic_block_40:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_38_basic_block_40:s -> fn_38_basic_block_6:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_38_basic_block_41:s -> fn_38_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_38_basic_block_0:s -> fn_38_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_sp_rr" {
	style="dashed";
	color="black";
	label="rhp_sp_sp_rr ()";
	fn_37_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_37_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_37_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|tmp_1\ =\ 0B;\l\
|tmp_4\ =\ n_3(D)-\>l;\l\
|n_3(D)-\>l\ =\ p_5(D);\l\
|p_5(D)-\>r\ =\ tmp_4;\l\
|*pp_8(D)\ =\ n_3(D);\l\
}"];

	fn_37_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|\<L0\>:\l\
|return;\l\
}"];

	fn_37_basic_block_0:s -> fn_37_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_37_basic_block_2:s -> fn_37_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_37_basic_block_3:s -> fn_37_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_37_basic_block_0:s -> fn_37_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_sp_rl" {
	style="dashed";
	color="black";
	label="rhp_sp_sp_rl ()";
	fn_36_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_36_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_36_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|tmp_1\ =\ 0B;\l\
|tmp_4\ =\ n_3(D)-\>r;\l\
|n_3(D)-\>r\ =\ p_5(D);\l\
|p_5(D)-\>l\ =\ tmp_4;\l\
|*pp_8(D)\ =\ n_3(D);\l\
}"];

	fn_36_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|\<L0\>:\l\
|return;\l\
}"];

	fn_36_basic_block_0:s -> fn_36_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_36_basic_block_2:s -> fn_36_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_36_basic_block_3:s -> fn_36_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_36_basic_block_0:s -> fn_36_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_lookup" {
	style="dashed";
	color="black";
	label="rhp_sp_lookup ()";
	fn_35_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_35_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_35_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|s_18\ =\ \"not-found\";\l\
|if\ (sp_19(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_35_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_31\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_35_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_1\ =\ sp_19(D)-\>root;\l\
|if\ (_1\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_35_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_30\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_35_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_2\ =\ sp_19(D)-\>root;\l\
|_3\ =\ _2-\>key;\l\
|if\ (key_21(D)\ ==\ _3)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_35_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_29\ =\ sp_19(D)-\>root;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_35_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_sp_sp\ (sp_19(D),\ key_21(D));\l\
|_4\ =\ sp_19(D)-\>root;\l\
|if\ (_4\ ==\ 0B)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_35_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_28\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_35_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_5\ =\ sp_19(D)-\>root;\l\
|_6\ =\ _5-\>key;\l\
|if\ (key_21(D)\ ==\ _6)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_35_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|s_24\ =\ \"found\";\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_35_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|s_23\ =\ \"not-found\";\l\
}"];

	fn_35_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|#\ s_14\ =\ PHI\ \<s_24(11),\ s_23(12)\>\l\
|rhp_verbose.113_7\ =\ rhp_verbose;\l\
|if\ (rhp_verbose.113_7\ !=\ 0)\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_35_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|key.114_8\ =\ (long\ unsigned\ int)\ key_21(D);\l\
|_9\ =\ sp_19(D)-\>root;\l\
|_10\ =\ _9-\>key;\l\
|_11\ =\ (long\ unsigned\ int)\ _10;\l\
|rhp_log\ (\"%s():\ %s\ in\ sp\ (%p)\ at\ %li\ when\ search\ for\ %li\\n\",\ &__func__,\ s_14,\ sp_19(D),\ _11,\ key.114_8);\l\
}"];

	fn_35_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|_12\ =\ sp_19(D)-\>root;\l\
|_13\ =\ _12-\>key;\l\
|if\ (key_21(D)\ ==\ _13)\l\
\ \ goto\ \<bb\ 16\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_35_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|_27\ =\ sp_19(D)-\>root;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_35_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|_26\ =\ 0B;\l\
}"];

	fn_35_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|#\ _15\ =\ PHI\ \<_31(3),\ _30(5),\ _29(7),\ _28(9),\ _27(16),\ _26(17)\>\l\
|\<L15\>:\l\
|return\ _15;\l\
}"];

	fn_35_basic_block_0:s -> fn_35_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_35_basic_block_2:s -> fn_35_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_2:s -> fn_35_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_3:s -> fn_35_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_35_basic_block_4:s -> fn_35_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_4:s -> fn_35_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_5:s -> fn_35_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_35_basic_block_6:s -> fn_35_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_6:s -> fn_35_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_7:s -> fn_35_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_35_basic_block_8:s -> fn_35_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_8:s -> fn_35_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_9:s -> fn_35_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_35_basic_block_10:s -> fn_35_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_10:s -> fn_35_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_11:s -> fn_35_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_35_basic_block_12:s -> fn_35_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_35_basic_block_13:s -> fn_35_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_13:s -> fn_35_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_14:s -> fn_35_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_35_basic_block_15:s -> fn_35_basic_block_16:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_15:s -> fn_35_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_16:s -> fn_35_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_35_basic_block_17:s -> fn_35_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_35_basic_block_18:s -> fn_35_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_35_basic_block_0:s -> fn_35_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_next" {
	style="dashed";
	color="black";
	label="rhp_sp_next ()";
	subgraph cluster_34_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_34_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ n_6\ =\ PHI\ \<n_15(9),\ n_16(10)\>\l\
|_5\ =\ n_6-\>l;\l\
|if\ (_5\ !=\ 0B)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_34_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|n_16\ =\ n_6-\>l;\l\
}"];

	}
	fn_34_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_34_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_34_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|n_10\ =\ 0B;\l\
|if\ (sp_11(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_34_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_20\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_34_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_1\ =\ sp_11(D)-\>root;\l\
|if\ (_1\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_34_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_19\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_34_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_sp_sp\ (sp_11(D),\ key_13(D));\l\
|_2\ =\ sp_11(D)-\>root;\l\
|_3\ =\ _2-\>key;\l\
|if\ (key_13(D)\ \<\ _3)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_34_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_18\ =\ sp_11(D)-\>root;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_34_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|_4\ =\ sp_11(D)-\>root;\l\
|n_15\ =\ _4-\>r;\l\
|if\ (n_15\ !=\ 0B)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_34_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_34_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|#\ n_7\ =\ PHI\ \<n_15(8),\ n_6(11)\>\l\
|_17\ =\ n_7;\l\
}"];

	fn_34_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|#\ _8\ =\ PHI\ \<_20(3),\ _19(5),\ _18(7),\ _17(12)\>\l\
|\<L11\>:\l\
|return\ _8;\l\
}"];

	fn_34_basic_block_0:s -> fn_34_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_34_basic_block_2:s -> fn_34_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_2:s -> fn_34_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_3:s -> fn_34_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_34_basic_block_4:s -> fn_34_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_4:s -> fn_34_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_5:s -> fn_34_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_34_basic_block_6:s -> fn_34_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_6:s -> fn_34_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_7:s -> fn_34_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_34_basic_block_8:s -> fn_34_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_8:s -> fn_34_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_9:s -> fn_34_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_34_basic_block_10:s -> fn_34_basic_block_11:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_34_basic_block_11:s -> fn_34_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_11:s -> fn_34_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_12:s -> fn_34_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_34_basic_block_13:s -> fn_34_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_34_basic_block_0:s -> fn_34_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_delete" {
	style="dashed";
	color="black";
	label="rhp_sp_delete ()";
	subgraph cluster_33_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_33_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ spn_4\ =\ PHI\ \<spn_15(6),\ spn_23(7)\>\l\
|if\ (spn_4\ !=\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_33_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_2\ =\ spn_4-\>key;\l\
|spn2_21\ =\ rhp_sp_next\ (sp_11(D),\ _2);\l\
|_3\ =\ spn_4-\>key;\l\
|rhp_sp_remove\ (sp_11(D),\ _3);\l\
|spn_23\ =\ spn2_21;\l\
}"];

	}
	fn_33_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_33_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_33_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spp_8\ =\ 0B;\l\
|spn_9\ =\ 0B;\l\
|spn2_10\ =\ 0B;\l\
|if\ (sp_11(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_33_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_27\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_33_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|spp_12\ =\ sp_11(D);\l\
|_1\ =\ spp_12-\>root;\l\
|if\ (_1\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_33_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|spp_25\ =\ rhp_free\ (spp_12,\ &__func__,\ 1765);\l\
|_26\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_33_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|spn_15\ =\ rhp_sp_min\ (sp_11(D));\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_33_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|spp_16\ =\ sp_11(D);\l\
|spp_18\ =\ rhp_free\ (spp_16,\ &__func__,\ 1782);\l\
|_19\ =\ 0B;\l\
}"];

	fn_33_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ _5\ =\ PHI\ \<_27(3),\ _26(5),\ _19(9)\>\l\
|\<L7\>:\l\
|return\ _5;\l\
}"];

	fn_33_basic_block_0:s -> fn_33_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_33_basic_block_2:s -> fn_33_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_33_basic_block_2:s -> fn_33_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_33_basic_block_3:s -> fn_33_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_33_basic_block_4:s -> fn_33_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_33_basic_block_4:s -> fn_33_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_33_basic_block_5:s -> fn_33_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_33_basic_block_6:s -> fn_33_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_33_basic_block_7:s -> fn_33_basic_block_8:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_33_basic_block_8:s -> fn_33_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_33_basic_block_8:s -> fn_33_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_33_basic_block_9:s -> fn_33_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_33_basic_block_10:s -> fn_33_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_33_basic_block_0:s -> fn_33_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_remove" {
	style="dashed";
	color="black";
	label="rhp_sp_remove ()";
	subgraph cluster_32_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_32_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|#\ left_10\ =\ PHI\ \<left_24(10),\ left_29(11)\>\l\
|_5\ =\ left_10-\>r;\l\
|if\ (_5\ !=\ 0B)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_32_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|left_29\ =\ left_10-\>r;\l\
}"];

	}
	fn_32_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_32_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_32_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_14\ =\ 0B;\l\
|node_15\ =\ 0B;\l\
|left_16\ =\ 0B;\l\
|right_17\ =\ 0B;\l\
|if\ (sp_18(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_32_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_32_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_1\ =\ sp_18(D)-\>root;\l\
|if\ (_1\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_32_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_32_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|spn_22\ =\ rhp_sp_lookup\ (sp_18(D),\ key_20(D));\l\
|if\ (spn_22\ ==\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_32_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|key.112_2\ =\ (void\ *)\ key_20(D);\l\
|printf\ (\"%s():\ key\ %p\ not\ found\\n\",\ &__func__,\ key.112_2);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_32_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|node_23\ =\ sp_18(D)-\>root;\l\
|_3\ =\ sp_18(D)-\>root;\l\
|left_24\ =\ _3-\>l;\l\
|_4\ =\ sp_18(D)-\>root;\l\
|right_25\ =\ _4-\>r;\l\
|if\ (left_24\ !=\ 0B)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_32_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|sp_18(D)-\>root\ =\ left_24;\l\
|if\ (right_25\ !=\ 0B)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_32_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_32_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|left_10-\>r\ =\ right_25;\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_32_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|sp_18(D)-\>root\ =\ right_25;\l\
}"];

	fn_32_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|_6\ =\ sp_18(D)-\>delval;\l\
|if\ (_6\ !=\ 0)\l\
\ \ goto\ \<bb\ 16\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_32_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|_7\ =\ node_23-\>value;\l\
|if\ (_7\ !=\ 0)\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_32_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|_8\ =\ node_23-\>value;\l\
|_9\ =\ (void\ *)\ _8;\l\
|rhp_free\ (_9,\ &__func__,\ 1735);\l\
|node_23-\>value\ =\ 0;\l\
}"];

	fn_32_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|node_23-\>l\ =\ 0B;\l\
|node_23-\>r\ =\ 0B;\l\
|rhp_free\ (node_23,\ &__func__,\ 1744);\l\
}"];

	fn_32_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|\<L18\>:\l\
|return;\l\
}"];

	fn_32_basic_block_0:s -> fn_32_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_32_basic_block_2:s -> fn_32_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_2:s -> fn_32_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_3:s -> fn_32_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_32_basic_block_4:s -> fn_32_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_4:s -> fn_32_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_5:s -> fn_32_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_32_basic_block_6:s -> fn_32_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_6:s -> fn_32_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_7:s -> fn_32_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_32_basic_block_8:s -> fn_32_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_8:s -> fn_32_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_9:s -> fn_32_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_9:s -> fn_32_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_10:s -> fn_32_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_32_basic_block_11:s -> fn_32_basic_block_12:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_32_basic_block_12:s -> fn_32_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_12:s -> fn_32_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_13:s -> fn_32_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_32_basic_block_14:s -> fn_32_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_32_basic_block_15:s -> fn_32_basic_block_16:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_15:s -> fn_32_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_16:s -> fn_32_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_16:s -> fn_32_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_17:s -> fn_32_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_32_basic_block_18:s -> fn_32_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_32_basic_block_19:s -> fn_32_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_32_basic_block_0:s -> fn_32_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_insert" {
	style="dashed";
	color="black";
	label="rhp_sp_insert ()";
	fn_31_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_31_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_31_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|newspn_41\ =\ 0B;\l\
|if\ (sp_42(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_31_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_31_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_1\ =\ sp_42(D)-\>root;\l\
|if\ (_1\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_31_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|newspn_63\ =\ rhp_malloc\ (32,\ &__func__,\ 1627);\l\
|sp_42(D)-\>root\ =\ newspn_63;\l\
|_2\ =\ sp_42(D)-\>root;\l\
|_2-\>l\ =\ 0B;\l\
|_3\ =\ sp_42(D)-\>root;\l\
|_3-\>r\ =\ 0B;\l\
|_4\ =\ sp_42(D)-\>root;\l\
|_4-\>key\ =\ key_44(D);\l\
|_5\ =\ sp_42(D)-\>root;\l\
|_5-\>value\ =\ value_49(D);\l\
|rhp_verbose.110_6\ =\ rhp_verbose;\l\
|if\ (rhp_verbose.110_6\ !=\ 0)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_31_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_7\ =\ sp_42(D)-\>root;\l\
|_8\ =\ _7-\>key;\l\
|_9\ =\ (long\ unsigned\ int)\ _8;\l\
|_10\ =\ sp_42(D)-\>root;\l\
|rhp_log\ (\"%s():\ sp\ (%p)\ sp-\>root\ (%p)\ is\ %li\ at\ first\ entry\\n\",\ &__func__,\ sp_42(D),\ _10,\ _9);\l\
}"];

	fn_31_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_31_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_sp_sp\ (sp_42(D),\ key_44(D));\l\
|_11\ =\ sp_42(D)-\>root;\l\
|_12\ =\ _11-\>key;\l\
|if\ (key_44(D)\ ==\ _12)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_31_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_13\ =\ sp_42(D)-\>delval;\l\
|if\ (_13\ !=\ 0)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_31_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_14\ =\ sp_42(D)-\>root;\l\
|_15\ =\ _14-\>value;\l\
|if\ (_15\ !=\ 0)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_31_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|_16\ =\ sp_42(D)-\>root;\l\
|_17\ =\ _16-\>value;\l\
|_18\ =\ (void\ *)\ _17;\l\
|rhp_free\ (_18,\ &__func__,\ 1651);\l\
|_19\ =\ sp_42(D)-\>root;\l\
|_19-\>value\ =\ 0;\l\
}"];

	fn_31_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|_20\ =\ sp_42(D)-\>root;\l\
|_20-\>value\ =\ value_49(D);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 19\>;\ [INV]\l\
}"];

	fn_31_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|newspn_47\ =\ rhp_malloc\ (32,\ &__func__,\ 1659);\l\
|newspn_47-\>key\ =\ key_44(D);\l\
|newspn_47-\>value\ =\ value_49(D);\l\
|_21\ =\ sp_42(D)-\>root;\l\
|_22\ =\ _21-\>key;\l\
|if\ (key_44(D)\ \>\ _22)\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_31_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|_23\ =\ sp_42(D)-\>root;\l\
|newspn_47-\>l\ =\ _23;\l\
|_24\ =\ newspn_47-\>l;\l\
|_25\ =\ _24-\>r;\l\
|newspn_47-\>r\ =\ _25;\l\
|_26\ =\ newspn_47-\>l;\l\
|_26-\>r\ =\ 0B;\l\
goto\ \<bb\ 16\>;\ [INV]\l\
}"];

	fn_31_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|_27\ =\ sp_42(D)-\>root;\l\
|newspn_47-\>r\ =\ _27;\l\
|_28\ =\ newspn_47-\>r;\l\
|_29\ =\ _28-\>l;\l\
|newspn_47-\>l\ =\ _29;\l\
|_30\ =\ newspn_47-\>r;\l\
|_30-\>l\ =\ 0B;\l\
}"];

	fn_31_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|sp_42(D)-\>root\ =\ newspn_47;\l\
|rhp_verbose.111_31\ =\ rhp_verbose;\l\
|if\ (rhp_verbose.111_31\ !=\ 0)\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_31_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|_32\ =\ sp_42(D)-\>root;\l\
|_33\ =\ _32-\>key;\l\
|_34\ =\ (long\ unsigned\ int)\ _33;\l\
|_35\ =\ sp_42(D)-\>root;\l\
|rhp_log\ (\"%s():\ sp\ (%p)\ sp-\>root\ (%p)\ is\ %li\ at\ next\ entry\\n\",\ &__func__,\ sp_42(D),\ _35,\ _34);\l\
}"];

	fn_31_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
}"];

	fn_31_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|\<L17\>:\l\
|return;\l\
}"];

	fn_31_basic_block_0:s -> fn_31_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_31_basic_block_2:s -> fn_31_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_2:s -> fn_31_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_3:s -> fn_31_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_31_basic_block_4:s -> fn_31_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_4:s -> fn_31_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_5:s -> fn_31_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_5:s -> fn_31_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_6:s -> fn_31_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_31_basic_block_7:s -> fn_31_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_31_basic_block_8:s -> fn_31_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_8:s -> fn_31_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_9:s -> fn_31_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_9:s -> fn_31_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_10:s -> fn_31_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_10:s -> fn_31_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_11:s -> fn_31_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_31_basic_block_12:s -> fn_31_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_31_basic_block_13:s -> fn_31_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_13:s -> fn_31_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_14:s -> fn_31_basic_block_16:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_31_basic_block_15:s -> fn_31_basic_block_16:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_31_basic_block_16:s -> fn_31_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_16:s -> fn_31_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_17:s -> fn_31_basic_block_18:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_31_basic_block_18:s -> fn_31_basic_block_19:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_31_basic_block_19:s -> fn_31_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_31_basic_block_0:s -> fn_31_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_min" {
	style="dashed";
	color="black";
	label="rhp_sp_min ()";
	subgraph cluster_30_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_30_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|#\ nspn_3\ =\ PHI\ \<nspn_9(7),\ nspn_10(8)\>\l\
|_2\ =\ nspn_3-\>l;\l\
|if\ (_2\ !=\ 0B)\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_30_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|nspn_10\ =\ nspn_3-\>l;\l\
}"];

	}
	fn_30_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_30_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_30_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|nspn_6\ =\ 0B;\l\
|if\ (sp_7(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_30_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_13\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_30_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_1\ =\ sp_7(D)-\>root;\l\
|if\ (_1\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_30_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_12\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_30_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|nspn_9\ =\ sp_7(D)-\>root;\l\
|if\ (nspn_9\ !=\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_30_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_30_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ nspn_4\ =\ PHI\ \<nspn_9(6),\ nspn_3(9)\>\l\
|_11\ =\ nspn_4;\l\
}"];

	fn_30_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ _5\ =\ PHI\ \<_13(3),\ _12(5),\ _11(10)\>\l\
|\<L9\>:\l\
|return\ _5;\l\
}"];

	fn_30_basic_block_0:s -> fn_30_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_30_basic_block_2:s -> fn_30_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_30_basic_block_2:s -> fn_30_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_30_basic_block_3:s -> fn_30_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_30_basic_block_4:s -> fn_30_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_30_basic_block_4:s -> fn_30_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_30_basic_block_5:s -> fn_30_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_30_basic_block_6:s -> fn_30_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_30_basic_block_6:s -> fn_30_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_30_basic_block_7:s -> fn_30_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_30_basic_block_8:s -> fn_30_basic_block_9:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_30_basic_block_9:s -> fn_30_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_30_basic_block_9:s -> fn_30_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_30_basic_block_10:s -> fn_30_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_30_basic_block_11:s -> fn_30_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_30_basic_block_0:s -> fn_30_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_has_data" {
	style="dashed";
	color="black";
	label="rhp_sp_has_data ()";
	fn_29_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_29_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_29_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|if\ (sp_3(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_29_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_7\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_29_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|_1\ =\ sp_3(D)-\>root;\l\
|if\ (_1\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_29_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_6\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_29_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_5\ =\ 1;\l\
}"];

	fn_29_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|#\ _2\ =\ PHI\ \<_7(3),\ _6(5),\ _5(6)\>\l\
|\<L4\>:\l\
|return\ _2;\l\
}"];

	fn_29_basic_block_0:s -> fn_29_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_29_basic_block_2:s -> fn_29_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_29_basic_block_2:s -> fn_29_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_29_basic_block_3:s -> fn_29_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_29_basic_block_4:s -> fn_29_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_29_basic_block_4:s -> fn_29_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_29_basic_block_5:s -> fn_29_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_29_basic_block_6:s -> fn_29_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_29_basic_block_7:s -> fn_29_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_29_basic_block_0:s -> fn_29_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_sp_new" {
	style="dashed";
	color="black";
	label="rhp_sp_new ()";
	fn_28_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_28_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_28_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|newsp_1\ =\ 0B;\l\
|newsp_4\ =\ rhp_malloc\ (16,\ &__func__,\ 1558);\l\
|newsp_4-\>root\ =\ 0B;\l\
|newsp_4-\>delval\ =\ delval_6(D);\l\
|_8\ =\ newsp_4;\l\
}"];

	fn_28_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|\<L0\>:\l\
|return\ _8;\l\
}"];

	fn_28_basic_block_0:s -> fn_28_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_28_basic_block_2:s -> fn_28_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_28_basic_block_3:s -> fn_28_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_28_basic_block_0:s -> fn_28_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_malloc" {
	style="dashed";
	color="black";
	label="rhp_malloc ()";
	fn_27_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_27_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_27_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|ptr_7\ =\ 0B;\l\
|if\ (n_8(D)\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_27_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ 0\ bytes\ to\ malloc\ from\ %s\ line\ %d\ shouldnothappen!\\n\",\ &__func__,\ func_11(D),\ line_12(D));\l\
|_18\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_27_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_n_malloc.108_1\ =\ rhp_n_malloc;\l\
|_2\ =\ rhp_n_malloc.108_1\ +\ 1;\l\
|rhp_n_malloc\ =\ _2;\l\
|ptr_14\ =\ mymalloc\ (n_8(D),\ func_11(D),\ line_12(D));\l\
|rhp_dolog.109_3\ =\ rhp_dolog;\l\
|if\ (rhp_dolog.109_3\ \>\ 1)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_27_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%p\\t%s\\tline\ %d\\trhp_malloc(%lu)\\tmemtrace\\n\",\ ptr_14,\ func_11(D),\ line_12(D),\ n_8(D));\l\
}"];

	fn_27_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_16\ =\ ptr_14;\l\
}"];

	fn_27_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|#\ _4\ =\ PHI\ \<_18(3),\ _16(6)\>\l\
|\<L4\>:\l\
|return\ _4;\l\
}"];

	fn_27_basic_block_0:s -> fn_27_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_27_basic_block_2:s -> fn_27_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_27_basic_block_2:s -> fn_27_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_27_basic_block_3:s -> fn_27_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_27_basic_block_4:s -> fn_27_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_27_basic_block_4:s -> fn_27_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_27_basic_block_5:s -> fn_27_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_27_basic_block_6:s -> fn_27_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_27_basic_block_7:s -> fn_27_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_27_basic_block_0:s -> fn_27_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_free" {
	style="dashed";
	color="black";
	label="rhp_free ()";
	fn_26_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_26_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_26_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|if\ (ptr_7(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_26_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ nil\ ptr\ from\ %s\ line\ %d\ shouldnothappen!\\n\",\ &__func__,\ func_9(D),\ line_10(D));\l\
|_16\ =\ 0B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_26_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|if\ (ptr_7(D)\ !=\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_26_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|myfree\ (ptr_7(D),\ func_9(D),\ line_10(D));\l\
|rhp_n_free.106_1\ =\ rhp_n_free;\l\
|_2\ =\ rhp_n_free.106_1\ +\ 1;\l\
|rhp_n_free\ =\ _2;\l\
|rhp_dolog.107_3\ =\ rhp_dolog;\l\
|if\ (rhp_dolog.107_3\ \>\ 1)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_26_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_log\ (\"%p\\t%s\\tline\ %d\\trhp_free()\\tmemtrace\\n\",\ ptr_7(D),\ func_9(D),\ line_10(D));\l\
}"];

	fn_26_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_14\ =\ 0B;\l\
}"];

	fn_26_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ _4\ =\ PHI\ \<_16(3),\ _14(7)\>\l\
|\<L6\>:\l\
|return\ _4;\l\
}"];

	fn_26_basic_block_0:s -> fn_26_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_26_basic_block_2:s -> fn_26_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_26_basic_block_2:s -> fn_26_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_26_basic_block_3:s -> fn_26_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_26_basic_block_4:s -> fn_26_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_26_basic_block_4:s -> fn_26_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_26_basic_block_5:s -> fn_26_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_26_basic_block_5:s -> fn_26_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_26_basic_block_6:s -> fn_26_basic_block_7:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_26_basic_block_7:s -> fn_26_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_26_basic_block_8:s -> fn_26_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_26_basic_block_0:s -> fn_26_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_edges_in_layout" {
	style="dashed";
	color="black";
	label="rhp_edges_in_layout ()";
	subgraph cluster_25_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_25_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ c_7\ =\ PHI\ \<c_16(6),\ c_20(7)\>\l\
|#\ spn_8\ =\ PHI\ \<spn_18(6),\ spn_22(7)\>\l\
|if\ (spn_8\ !=\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_25_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|c_20\ =\ c_7\ +\ 1;\l\
|_5\ =\ spn_8-\>key;\l\
|rhp_sp_master_edge_list.105_6\ =\ rhp_sp_master_edge_list;\l\
|spn_22\ =\ rhp_sp_next\ (rhp_sp_master_edge_list.105_6,\ _5);\l\
}"];

	}
	fn_25_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_25_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_25_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|c_12\ =\ 0;\l\
|spn_13\ =\ 0B;\l\
|rhp_inited.102_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.102_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_25_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_25\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_25_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_edge_list.103_2\ =\ rhp_sp_master_edge_list;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_edge_list.103_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_25_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_23\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_25_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|c_16\ =\ 0;\l\
|rhp_sp_master_edge_list.104_4\ =\ rhp_sp_master_edge_list;\l\
|spn_18\ =\ rhp_sp_min\ (rhp_sp_master_edge_list.104_4);\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_25_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_19\ =\ c_7;\l\
}"];

	fn_25_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ _9\ =\ PHI\ \<_25(3),\ _23(5),\ _19(9)\>\l\
|\<L7\>:\l\
|return\ _9;\l\
}"];

	fn_25_basic_block_0:s -> fn_25_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_25_basic_block_2:s -> fn_25_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_25_basic_block_2:s -> fn_25_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_25_basic_block_3:s -> fn_25_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_25_basic_block_4:s -> fn_25_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_25_basic_block_4:s -> fn_25_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_25_basic_block_5:s -> fn_25_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_25_basic_block_6:s -> fn_25_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_25_basic_block_7:s -> fn_25_basic_block_8:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_25_basic_block_8:s -> fn_25_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_25_basic_block_8:s -> fn_25_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_25_basic_block_9:s -> fn_25_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_25_basic_block_10:s -> fn_25_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_25_basic_block_0:s -> fn_25_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_nodes_in_layout" {
	style="dashed";
	color="black";
	label="rhp_nodes_in_layout ()";
	subgraph cluster_24_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_24_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|#\ c_7\ =\ PHI\ \<c_16(6),\ c_20(7)\>\l\
|#\ spn_8\ =\ PHI\ \<spn_18(6),\ spn_22(7)\>\l\
|if\ (spn_8\ !=\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_24_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|c_20\ =\ c_7\ +\ 1;\l\
|_5\ =\ spn_8-\>key;\l\
|rhp_sp_master_node_list.101_6\ =\ rhp_sp_master_node_list;\l\
|spn_22\ =\ rhp_sp_next\ (rhp_sp_master_node_list.101_6,\ _5);\l\
}"];

	}
	fn_24_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_24_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_24_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|c_12\ =\ 0;\l\
|spn_13\ =\ 0B;\l\
|rhp_inited.98_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.98_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_24_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_25\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_24_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.99_2\ =\ rhp_sp_master_node_list;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.99_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_24_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_23\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_24_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|c_16\ =\ 0;\l\
|rhp_sp_master_node_list.100_4\ =\ rhp_sp_master_node_list;\l\
|spn_18\ =\ rhp_sp_min\ (rhp_sp_master_node_list.100_4);\l\
goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_24_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_19\ =\ c_7;\l\
}"];

	fn_24_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|#\ _9\ =\ PHI\ \<_25(3),\ _23(5),\ _19(9)\>\l\
|\<L7\>:\l\
|return\ _9;\l\
}"];

	fn_24_basic_block_0:s -> fn_24_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_24_basic_block_2:s -> fn_24_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_24_basic_block_2:s -> fn_24_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_24_basic_block_3:s -> fn_24_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_24_basic_block_4:s -> fn_24_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_24_basic_block_4:s -> fn_24_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_24_basic_block_5:s -> fn_24_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_24_basic_block_6:s -> fn_24_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_24_basic_block_7:s -> fn_24_basic_block_8:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_24_basic_block_8:s -> fn_24_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_24_basic_block_8:s -> fn_24_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_24_basic_block_9:s -> fn_24_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_24_basic_block_10:s -> fn_24_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_24_basic_block_0:s -> fn_24_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_nodes_in_level" {
	style="dashed";
	color="black";
	label="rhp_nodes_in_level ()";
	fn_23_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_23_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_23_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_13\ =\ 0B;\l\
|rl_14\ =\ 0B;\l\
|rhp_inited.92_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.92_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_23_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_33\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_23_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.93_2\ =\ rhp_sp_master_node_list;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.93_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_23_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ shouldnothappen!\\n\",\ &__func__);\l\
|_31\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_23_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|if\ (level_17(D)\ \<\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_23_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ level\ %d\ is\ below\ 0\ shouldnothappen!\\n\",\ &__func__,\ level_17(D));\l\
|_29\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_23_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_maxlevel.94_4\ =\ rhp_maxlevel;\l\
|if\ (level_17(D)\ \>\ rhp_maxlevel.94_4)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_23_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_maxlevel.95_5\ =\ rhp_maxlevel;\l\
|rhp_log\ (\"%s():\ level\ %d\ is\ above\ max\ level\ %dshouldnothappen!\\n\",\ &__func__,\ level_17(D),\ rhp_maxlevel.95_5);\l\
|_27\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_23_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|rhp_sp_layers.96_6\ =\ rhp_sp_layers;\l\
|_7\ =\ rhp_sp_has_data\ (rhp_sp_layers.96_6);\l\
|if\ (_7\ ==\ 0)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_23_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|_25\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_23_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|_8\ =\ (long\ long\ int)\ level_17(D);\l\
|rhp_sp_layers.97_9\ =\ rhp_sp_layers;\l\
|spn_20\ =\ rhp_sp_lookup\ (rhp_sp_layers.97_9,\ _8);\l\
|if\ (spn_20\ !=\ 0B)\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_23_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|_10\ =\ spn_20-\>value;\l\
|rl_23\ =\ (struct\ rhplevel\ *)\ _10;\l\
|_24\ =\ rl_23-\>number_of_nodes;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_23_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|rhp_log\ (\"%s():\ could\ not\ find\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ level_17(D));\l\
|_22\ =\ 0;\l\
}"];

	fn_23_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|#\ _11\ =\ PHI\ \<_33(3),\ _31(5),\ _29(7),\ _27(9),\ _25(11),\ _24(13),\ _22(14)\>\l\
|\<L12\>:\l\
|return\ _11;\l\
}"];

	fn_23_basic_block_0:s -> fn_23_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_23_basic_block_2:s -> fn_23_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_2:s -> fn_23_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_3:s -> fn_23_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_23_basic_block_4:s -> fn_23_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_4:s -> fn_23_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_5:s -> fn_23_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_23_basic_block_6:s -> fn_23_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_6:s -> fn_23_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_7:s -> fn_23_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_23_basic_block_8:s -> fn_23_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_8:s -> fn_23_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_9:s -> fn_23_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_23_basic_block_10:s -> fn_23_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_10:s -> fn_23_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_11:s -> fn_23_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_23_basic_block_12:s -> fn_23_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_12:s -> fn_23_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_13:s -> fn_23_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_23_basic_block_14:s -> fn_23_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_23_basic_block_15:s -> fn_23_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_23_basic_block_0:s -> fn_23_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_current_crossings_at_level" {
	style="dashed";
	color="black";
	label="rhp_current_crossings_at_level ()";
	fn_22_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_22_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_22_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_14\ =\ 0B;\l\
|is_15\ =\ 0B;\l\
|rhp_inited.85_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.85_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_22_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_36\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_22_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.86_2\ =\ rhp_sp_master_node_list;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.86_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_22_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ shouldnothappen!\\n\",\ &__func__);\l\
|_34\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_22_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|if\ (level_18(D)\ \<\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_22_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ level\ %d\ is\ below\ 0\ shouldnothappen!\\n\",\ &__func__,\ level_18(D));\l\
|_32\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_22_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_maxlevel.87_4\ =\ rhp_maxlevel;\l\
|if\ (level_18(D)\ \>\ rhp_maxlevel.87_4)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_22_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_maxlevel.88_5\ =\ rhp_maxlevel;\l\
|rhp_log\ (\"%s():\ level\ %d\ is\ above\ max\ level\ %dshouldnothappen!\\n\",\ &__func__,\ level_18(D),\ rhp_maxlevel.88_5);\l\
|_30\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_22_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|rhp_sp_between_layers.89_6\ =\ rhp_sp_between_layers;\l\
|_7\ =\ rhp_sp_has_data\ (rhp_sp_between_layers.89_6);\l\
|if\ (_7\ ==\ 0)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_22_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|_28\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_22_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|rhp_nlevels.90_8\ =\ rhp_nlevels;\l\
|if\ (rhp_nlevels.90_8\ ==\ 0)\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_22_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|rhp_log\ (\"%s():\ no\ levels\ shouldnothappen!\\n\",\ &__func__);\l\
|_27\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_22_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|_9\ =\ (long\ long\ int)\ level_18(D);\l\
|rhp_sp_between_layers.91_10\ =\ rhp_sp_between_layers;\l\
|spn_21\ =\ rhp_sp_lookup\ (rhp_sp_between_layers.91_10,\ _9);\l\
|if\ (spn_21\ !=\ 0B)\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 16\>;\ [INV]\l\
}"];

	fn_22_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|_11\ =\ spn_21-\>value;\l\
|is_24\ =\ (struct\ rhp_inter_layer_struct\ *)\ _11;\l\
|_25\ =\ is_24-\>number_of_crossings;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 17\>;\ [INV]\l\
}"];

	fn_22_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|rhp_log\ (\"%s():\ could\ not\ get\ data\ for\ level\ %d\ shouldnothappen!\\n\",\ &__func__,\ level_18(D));\l\
|_23\ =\ 0;\l\
}"];

	fn_22_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|#\ _12\ =\ PHI\ \<_36(3),\ _34(5),\ _32(7),\ _30(9),\ _28(11),\ _27(13),\ _25(15),\ _23(16)\>\l\
|\<L14\>:\l\
|return\ _12;\l\
}"];

	fn_22_basic_block_0:s -> fn_22_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_22_basic_block_2:s -> fn_22_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_2:s -> fn_22_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_3:s -> fn_22_basic_block_17:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_22_basic_block_4:s -> fn_22_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_4:s -> fn_22_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_5:s -> fn_22_basic_block_17:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_22_basic_block_6:s -> fn_22_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_6:s -> fn_22_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_7:s -> fn_22_basic_block_17:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_22_basic_block_8:s -> fn_22_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_8:s -> fn_22_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_9:s -> fn_22_basic_block_17:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_22_basic_block_10:s -> fn_22_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_10:s -> fn_22_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_11:s -> fn_22_basic_block_17:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_22_basic_block_12:s -> fn_22_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_12:s -> fn_22_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_13:s -> fn_22_basic_block_17:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_22_basic_block_14:s -> fn_22_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_14:s -> fn_22_basic_block_16:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_15:s -> fn_22_basic_block_17:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_22_basic_block_16:s -> fn_22_basic_block_17:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_22_basic_block_17:s -> fn_22_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_22_basic_block_0:s -> fn_22_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_current_crossings" {
	style="dashed";
	color="black";
	label="rhp_current_crossings ()";
	fn_21_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_21_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_21_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|rhp_inited.80_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.80_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_21_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_30\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_21_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.81_2\ =\ rhp_sp_master_node_list;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.81_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_21_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ shouldnothappen!\\n\",\ &__func__);\l\
|rhp_crossings\ =\ 0;\l\
|_28\ =\ rhp_crossings;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_21_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_sp_master_edge_list.82_4\ =\ rhp_sp_master_edge_list;\l\
|_5\ =\ rhp_sp_has_data\ (rhp_sp_master_edge_list.82_4);\l\
|if\ (_5\ ==\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_21_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_crossings\ =\ 0;\l\
|_25\ =\ rhp_crossings;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_21_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_start_crossings.83_6\ =\ rhp_start_crossings;\l\
|if\ (rhp_start_crossings.83_6\ \<\ 0)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_21_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_7\ =\ rhp_initial_crossings\ ();\l\
|rhp_crossings\ =\ _7;\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_21_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|rhp_number_of_edges.84_8\ =\ rhp_number_of_edges;\l\
|if\ (rhp_number_of_edges.84_8\ ==\ 1)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_21_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|rhp_crossings\ =\ 0;\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_21_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|rhp_crossings\ =\ 0;\l\
|rhp_updateallcrossings\ ();\l\
|_9\ =\ rhp_numberofcrossings\ ();\l\
|rhp_crossings\ =\ _9;\l\
}"];

	fn_21_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|_23\ =\ rhp_crossings;\l\
}"];

	fn_21_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|#\ _10\ =\ PHI\ \<_30(3),\ _28(5),\ _25(7),\ _23(13)\>\l\
|\<L12\>:\l\
|return\ _10;\l\
}"];

	fn_21_basic_block_0:s -> fn_21_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_21_basic_block_2:s -> fn_21_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_2:s -> fn_21_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_3:s -> fn_21_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_21_basic_block_4:s -> fn_21_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_4:s -> fn_21_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_5:s -> fn_21_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_21_basic_block_6:s -> fn_21_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_6:s -> fn_21_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_7:s -> fn_21_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_21_basic_block_8:s -> fn_21_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_8:s -> fn_21_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_9:s -> fn_21_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_21_basic_block_10:s -> fn_21_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_10:s -> fn_21_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_11:s -> fn_21_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_21_basic_block_12:s -> fn_21_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_21_basic_block_13:s -> fn_21_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_21_basic_block_14:s -> fn_21_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_21_basic_block_0:s -> fn_21_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_initial_crossings" {
	style="dashed";
	color="black";
	label="rhp_initial_crossings ()";
	fn_20_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_20_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_20_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|rhp_start_crossings.71_1\ =\ rhp_start_crossings;\l\
|rhp_log\ (\"%s():\ start\ crossings\ %li\\n\",\ &__func__,\ rhp_start_crossings.71_1);\l\
|rhp_inited.72_2\ =\ rhp_inited;\l\
|if\ (rhp_inited.72_2\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_20_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_46\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_20_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.73_3\ =\ rhp_sp_master_node_list;\l\
|_4\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.73_3);\l\
|if\ (_4\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_20_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ no\ nodes\ shouldnothappen!\\n\",\ &__func__);\l\
|rhp_start_crossings\ =\ 0;\l\
|_44\ =\ rhp_start_crossings;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_20_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_sp_master_edge_list.74_5\ =\ rhp_sp_master_edge_list;\l\
|_6\ =\ rhp_sp_has_data\ (rhp_sp_master_edge_list.74_5);\l\
|if\ (_6\ ==\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_20_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_start_crossings\ =\ 0;\l\
}"];

	fn_20_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_start_crossings.75_7\ =\ rhp_start_crossings;\l\
|if\ (rhp_start_crossings.75_7\ \>=\ 0)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_20_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_start_crossings.76_8\ =\ rhp_start_crossings;\l\
|rhp_log\ (\"%s():\ already\ inited\ start\ crossings\ %li\\n\",\ &__func__,\ rhp_start_crossings.76_8);\l\
|_41\ =\ rhp_start_crossings;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_20_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|rhp_log\ (\"%s():\ allocate\ layers\\n\",\ &__func__);\l\
|rhp_allocatelayers\ ();\l\
|rhp_allocateadjacencylists\ ();\l\
|_9\ =\ rhp_countisolatednodes\ ();\l\
|rhp_number_of_isolated_nodes\ =\ _9;\l\
|rhp_number_of_isolated_nodes.77_10\ =\ rhp_number_of_isolated_nodes;\l\
|_11\ =\ (long\ int)\ rhp_number_of_isolated_nodes.77_10;\l\
|rhp_log\ (\"%s():\ %li\ single\ nodes\\n\",\ &__func__,\ _11);\l\
|rhp_initcrossings\ ();\l\
|rhp_updateallcrossings\ ();\l\
|_12\ =\ rhp_numberofcrossings\ ();\l\
|rhp_start_crossings\ =\ _12;\l\
|rhp_number_of_nodes.78_13\ =\ rhp_number_of_nodes;\l\
|_14\ =\ (long\ unsigned\ int)\ rhp_number_of_nodes.78_13;\l\
|_15\ =\ _14\ *\ 80;\l\
|rhp_log\ (\"%s():\ using\ %lu\ bytes\ for\ the\ node\ data\ core\ part\\n\",\ &__func__,\ _15);\l\
|rhp_number_of_edges.79_16\ =\ rhp_number_of_edges;\l\
|_17\ =\ (long\ unsigned\ int)\ rhp_number_of_edges.79_16;\l\
|_18\ =\ _17\ *\ 56;\l\
|rhp_log\ (\"%s():\ using\ %lu\ bytes\ for\ the\ edge\ data\\n\",\ &__func__,\ _18);\l\
|_39\ =\ rhp_start_crossings;\l\
}"];

	fn_20_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|#\ _19\ =\ PHI\ \<_46(3),\ _44(5),\ _41(9),\ _39(10)\>\l\
|\<L8\>:\l\
|return\ _19;\l\
}"];

	fn_20_basic_block_0:s -> fn_20_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_20_basic_block_2:s -> fn_20_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_20_basic_block_2:s -> fn_20_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_20_basic_block_3:s -> fn_20_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_20_basic_block_4:s -> fn_20_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_20_basic_block_4:s -> fn_20_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_20_basic_block_5:s -> fn_20_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_20_basic_block_6:s -> fn_20_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_20_basic_block_6:s -> fn_20_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_20_basic_block_7:s -> fn_20_basic_block_8:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_20_basic_block_8:s -> fn_20_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_20_basic_block_8:s -> fn_20_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_20_basic_block_9:s -> fn_20_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_20_basic_block_10:s -> fn_20_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_20_basic_block_11:s -> fn_20_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_20_basic_block_0:s -> fn_20_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_edge_foreach" {
	style="dashed";
	color="black";
	label="rhp_edge_foreach ()";
	subgraph cluster_19_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_19_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|#\ spn_23\ =\ PHI\ \<spn_38(8),\ spn_43(11)\>\l\
|#\ status_24\ =\ PHI\ \<status_36(8),\ status_41(11)\>\l\
|if\ (spn_23\ !=\ 0B)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_19_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_5\ =\ spn_23-\>value;\l\
|ed_39\ =\ (struct\ rhpedge\ *)\ _5;\l\
|_6\ =\ ed_39-\>data;\l\
|_7\ =\ ed_39-\>crossings;\l\
|_8\ =\ ed_39-\>tn;\l\
|_9\ =\ _8-\>position;\l\
|_10\ =\ ed_39-\>tn;\l\
|_11\ =\ _10-\>level;\l\
|_12\ =\ ed_39-\>tn;\l\
|_13\ =\ _12-\>innum;\l\
|_14\ =\ ed_39-\>fn;\l\
|_15\ =\ _14-\>position;\l\
|_16\ =\ ed_39-\>fn;\l\
|_17\ =\ _16-\>level;\l\
|_18\ =\ ed_39-\>fn;\l\
|_19\ =\ _18-\>innum;\l\
|_20\ =\ ed_39-\>innum;\l\
|status_41\ =\ getedgedata_34(D)\ (_20,\ _19,\ _17,\ _15,\ _13,\ _11,\ _9,\ _7,\ _6);\l\
|if\ (status_41\ !=\ 0)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_19_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|_21\ =\ spn_23-\>key;\l\
|rhp_sp_master_edge_list.70_22\ =\ rhp_sp_master_edge_list;\l\
|spn_43\ =\ rhp_sp_next\ (rhp_sp_master_edge_list.70_22,\ _21);\l\
}"];

	}
	fn_19_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_19_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_19_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_30\ =\ 0B;\l\
|ed_31\ =\ 0B;\l\
|status_32\ =\ 0;\l\
|rhp_inited.67_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.67_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_19_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_48\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_19_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|if\ (getedgedata_34(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_19_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_46\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_19_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_sp_master_edge_list.68_2\ =\ rhp_sp_master_edge_list;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_edge_list.68_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_19_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_45\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_19_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|status_36\ =\ 0;\l\
|rhp_sp_master_edge_list.69_4\ =\ rhp_sp_master_edge_list;\l\
|spn_38\ =\ rhp_sp_min\ (rhp_sp_master_edge_list.69_4);\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_19_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_19_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|#\ status_25\ =\ PHI\ \<status_41(10),\ status_24(12)\>\l\
|_44\ =\ status_25;\l\
}"];

	fn_19_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|#\ _26\ =\ PHI\ \<_48(3),\ _46(5),\ _45(7),\ _44(13)\>\l\
|\<L11\>:\l\
|return\ _26;\l\
}"];

	fn_19_basic_block_0:s -> fn_19_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_19_basic_block_2:s -> fn_19_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_2:s -> fn_19_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_3:s -> fn_19_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_19_basic_block_4:s -> fn_19_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_4:s -> fn_19_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_5:s -> fn_19_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_19_basic_block_6:s -> fn_19_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_6:s -> fn_19_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_7:s -> fn_19_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_19_basic_block_8:s -> fn_19_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_19_basic_block_9:s -> fn_19_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_9:s -> fn_19_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_10:s -> fn_19_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_19_basic_block_11:s -> fn_19_basic_block_12:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_19_basic_block_12:s -> fn_19_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_12:s -> fn_19_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_13:s -> fn_19_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_19_basic_block_14:s -> fn_19_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_19_basic_block_0:s -> fn_19_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_node_get_data" {
	style="dashed";
	color="black";
	label="rhp_node_get_data ()";
	fn_18_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_18_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_18_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_12\ =\ 0B;\l\
|nd_13\ =\ 0B;\l\
|rhp_inited.64_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.64_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_18_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_26\ =\ -1B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_18_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.65_2\ =\ rhp_sp_master_node_list;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.65_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_18_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_24\ =\ -1B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_18_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_4\ =\ (long\ long\ int)\ num_16(D);\l\
|rhp_sp_master_node_list.66_5\ =\ rhp_sp_master_node_list;\l\
|spn_18\ =\ rhp_sp_lookup\ (rhp_sp_master_node_list.66_5,\ _4);\l\
|if\ (spn_18\ ==\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_18_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ could\ not\ find\ node\ %d\ in\ master_node_list!\\n\",\ &__func__,\ num_16(D));\l\
|_23\ =\ -1B;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_18_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|_6\ =\ spn_18-\>value;\l\
|nd_19\ =\ (struct\ rhpnode\ *)\ _6;\l\
|_7\ =\ nd_19-\>position;\l\
|_8\ =\ nd_19-\>level;\l\
|_9\ =\ nd_19-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ level\ %d\ pos\ %d\\n\",\ &__func__,\ _9,\ _8,\ _7);\l\
|_21\ =\ nd_19-\>data;\l\
}"];

	fn_18_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|#\ _10\ =\ PHI\ \<_26(3),\ _24(5),\ _23(7),\ _21(8)\>\l\
|\<L6\>:\l\
|return\ _10;\l\
}"];

	fn_18_basic_block_0:s -> fn_18_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_18_basic_block_2:s -> fn_18_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_18_basic_block_2:s -> fn_18_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_18_basic_block_3:s -> fn_18_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_18_basic_block_4:s -> fn_18_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_18_basic_block_4:s -> fn_18_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_18_basic_block_5:s -> fn_18_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_18_basic_block_6:s -> fn_18_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_18_basic_block_6:s -> fn_18_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_18_basic_block_7:s -> fn_18_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_18_basic_block_8:s -> fn_18_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_18_basic_block_9:s -> fn_18_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_18_basic_block_0:s -> fn_18_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_node_get_position" {
	style="dashed";
	color="black";
	label="rhp_node_get_position ()";
	fn_17_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_17_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_17_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_12\ =\ 0B;\l\
|nd_13\ =\ 0B;\l\
|rhp_inited.61_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.61_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_17_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_26\ =\ -1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_17_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.62_2\ =\ rhp_sp_master_node_list;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.62_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_17_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_24\ =\ -1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_17_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_4\ =\ (long\ long\ int)\ num_16(D);\l\
|rhp_sp_master_node_list.63_5\ =\ rhp_sp_master_node_list;\l\
|spn_18\ =\ rhp_sp_lookup\ (rhp_sp_master_node_list.63_5,\ _4);\l\
|if\ (spn_18\ ==\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_17_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ could\ not\ find\ node\ %d\ in\ master_node_list!\\n\",\ &__func__,\ num_16(D));\l\
|_23\ =\ -1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_17_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|_6\ =\ spn_18-\>value;\l\
|nd_19\ =\ (struct\ rhpnode\ *)\ _6;\l\
|_7\ =\ nd_19-\>position;\l\
|_8\ =\ nd_19-\>level;\l\
|_9\ =\ nd_19-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ level\ %d\ pos\ %d\\n\",\ &__func__,\ _9,\ _8,\ _7);\l\
|_21\ =\ nd_19-\>position;\l\
}"];

	fn_17_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|#\ _10\ =\ PHI\ \<_26(3),\ _24(5),\ _23(7),\ _21(8)\>\l\
|\<L6\>:\l\
|return\ _10;\l\
}"];

	fn_17_basic_block_0:s -> fn_17_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_17_basic_block_2:s -> fn_17_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_17_basic_block_2:s -> fn_17_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_17_basic_block_3:s -> fn_17_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_17_basic_block_4:s -> fn_17_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_17_basic_block_4:s -> fn_17_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_17_basic_block_5:s -> fn_17_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_17_basic_block_6:s -> fn_17_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_17_basic_block_6:s -> fn_17_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_17_basic_block_7:s -> fn_17_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_17_basic_block_8:s -> fn_17_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_17_basic_block_9:s -> fn_17_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_17_basic_block_0:s -> fn_17_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_node_get_level" {
	style="dashed";
	color="black";
	label="rhp_node_get_level ()";
	fn_16_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_16_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_16_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_12\ =\ 0B;\l\
|nd_13\ =\ 0B;\l\
|rhp_inited.58_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.58_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_16_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_26\ =\ -1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_16_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.59_2\ =\ rhp_sp_master_node_list;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.59_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_16_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_24\ =\ -1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_16_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|_4\ =\ (long\ long\ int)\ num_16(D);\l\
|rhp_sp_master_node_list.60_5\ =\ rhp_sp_master_node_list;\l\
|spn_18\ =\ rhp_sp_lookup\ (rhp_sp_master_node_list.60_5,\ _4);\l\
|if\ (spn_18\ ==\ 0B)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_16_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ could\ not\ find\ node\ %d\ in\ master_node_list!\\n\",\ &__func__,\ num_16(D));\l\
|_23\ =\ -1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_16_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|_6\ =\ spn_18-\>value;\l\
|nd_19\ =\ (struct\ rhpnode\ *)\ _6;\l\
|_7\ =\ nd_19-\>position;\l\
|_8\ =\ nd_19-\>level;\l\
|_9\ =\ nd_19-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ level\ %d\ pos\ %d\\n\",\ &__func__,\ _9,\ _8,\ _7);\l\
|_21\ =\ nd_19-\>level;\l\
}"];

	fn_16_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|#\ _10\ =\ PHI\ \<_26(3),\ _24(5),\ _23(7),\ _21(8)\>\l\
|\<L6\>:\l\
|return\ _10;\l\
}"];

	fn_16_basic_block_0:s -> fn_16_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_16_basic_block_2:s -> fn_16_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_16_basic_block_2:s -> fn_16_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_16_basic_block_3:s -> fn_16_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_16_basic_block_4:s -> fn_16_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_16_basic_block_4:s -> fn_16_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_16_basic_block_5:s -> fn_16_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_16_basic_block_6:s -> fn_16_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_16_basic_block_6:s -> fn_16_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_16_basic_block_7:s -> fn_16_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_16_basic_block_8:s -> fn_16_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_16_basic_block_9:s -> fn_16_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_16_basic_block_0:s -> fn_16_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_node_foreach" {
	style="dashed";
	color="black";
	label="rhp_node_foreach ()";
	subgraph cluster_15_1 {
	style="filled";
	color="darkgreen";
	fillcolor="grey88";
	label="loop 1";
	labeljust=l;
	penwidth=2;
	fn_15_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|#\ spn_15\ =\ PHI\ \<spn_30(8),\ spn_36(11)\>\l\
|#\ status_16\ =\ PHI\ \<status_28(8),\ status_34(11)\>\l\
|if\ (spn_15\ !=\ 0B)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_15_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|_5\ =\ spn_15-\>value;\l\
|nd_31\ =\ (struct\ rhpnode\ *)\ _5;\l\
|_6\ =\ nd_31-\>position;\l\
|_7\ =\ nd_31-\>level;\l\
|_8\ =\ nd_31-\>innum;\l\
|rhp_log\ (\"%s():\ node\ %d\ level\ %d\ pos\ %d\\n\",\ &__func__,\ _8,\ _7,\ _6);\l\
|_9\ =\ nd_31-\>data;\l\
|_10\ =\ nd_31-\>position;\l\
|_11\ =\ nd_31-\>level;\l\
|_12\ =\ nd_31-\>innum;\l\
|status_34\ =\ getnodedata_26(D)\ (_12,\ _11,\ _10,\ _9);\l\
|if\ (status_34\ !=\ 0)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
}"];

	fn_15_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|_13\ =\ spn_15-\>key;\l\
|rhp_sp_master_node_list_sorted.57_14\ =\ rhp_sp_master_node_list_sorted;\l\
|spn_36\ =\ rhp_sp_next\ (rhp_sp_master_node_list_sorted.57_14,\ _13);\l\
}"];

	}
	fn_15_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_15_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_15_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_22\ =\ 0B;\l\
|nd_23\ =\ 0B;\l\
|status_24\ =\ 0;\l\
|rhp_inited.54_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.54_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_15_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_41\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_15_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|if\ (getnodedata_26(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_15_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_39\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_15_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_sp_master_node_list_sorted.55_2\ =\ rhp_sp_master_node_list_sorted;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list_sorted.55_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_15_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_38\ =\ 0;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_15_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|status_28\ =\ 0;\l\
|rhp_sp_master_node_list_sorted.56_4\ =\ rhp_sp_master_node_list_sorted;\l\
|spn_30\ =\ rhp_sp_min\ (rhp_sp_master_node_list_sorted.56_4);\l\
goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_15_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_15_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|#\ status_17\ =\ PHI\ \<status_34(10),\ status_16(12)\>\l\
|_37\ =\ status_17;\l\
}"];

	fn_15_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|#\ _18\ =\ PHI\ \<_41(3),\ _39(5),\ _38(7),\ _37(13)\>\l\
|\<L11\>:\l\
|return\ _18;\l\
}"];

	fn_15_basic_block_0:s -> fn_15_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_15_basic_block_2:s -> fn_15_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_2:s -> fn_15_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_3:s -> fn_15_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_15_basic_block_4:s -> fn_15_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_4:s -> fn_15_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_5:s -> fn_15_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_15_basic_block_6:s -> fn_15_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_6:s -> fn_15_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_7:s -> fn_15_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_15_basic_block_8:s -> fn_15_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_15_basic_block_9:s -> fn_15_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_9:s -> fn_15_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_10:s -> fn_15_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_15_basic_block_11:s -> fn_15_basic_block_12:n [style="dotted,bold",color=blue,weight=10,constraint=false];
	fn_15_basic_block_12:s -> fn_15_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_12:s -> fn_15_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_13:s -> fn_15_basic_block_14:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_15_basic_block_14:s -> fn_15_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_15_basic_block_0:s -> fn_15_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_layout_callback" {
	style="dashed";
	color="black";
	label="rhp_layout_callback ()";
	fn_14_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_14_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_14_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|if\ (getlayoutdata_2(D)\ ==\ 0B)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_14_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ no\ callback\ routine\ shouldnothappen!\\n\",\ &__func__);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_14_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_getlayoutdata\ =\ getlayoutdata_2(D);\l\
}"];

	fn_14_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|\<L2\>:\l\
|return;\l\
}"];

	fn_14_basic_block_0:s -> fn_14_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_14_basic_block_2:s -> fn_14_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_14_basic_block_2:s -> fn_14_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_14_basic_block_3:s -> fn_14_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_14_basic_block_4:s -> fn_14_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_14_basic_block_5:s -> fn_14_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_14_basic_block_0:s -> fn_14_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_layout" {
	style="dashed";
	color="black";
	label="rhp_layout ()";
	fn_13_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_13_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_13_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|redu_22\ =\ 0;\l\
}"];

	fn_13_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|if\ (nodeweightadjust_23(D)\ !=\ 0)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_13_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_adjustweight\ =\ 1;\l\
goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_13_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_adjustweight\ =\ 0;\l\
}"];

	fn_13_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_adjustweight.40_1\ =\ rhp_adjustweight;\l\
|rhp_log\ (\"%s():\ start\ with\ rhp_adjustweight\ %d\\n\",\ &__func__,\ rhp_adjustweight.40_1);\l\
|rhp_inited.41_2\ =\ rhp_inited;\l\
|if\ (rhp_inited.41_2\ ==\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_13_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 16\>;\ [INV]\l\
}"];

	fn_13_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_sp_master_node_list.42_3\ =\ rhp_sp_master_node_list;\l\
|_4\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.42_3);\l\
|if\ (_4\ ==\ 0)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_13_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_log\ (\"%s():\ there\ is\ no\ node\ data\ shouldnothappen!\\n\",\ &__func__);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 16\>;\ [INV]\l\
}"];

	fn_13_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|rhp_improvements\ =\ 0;\l\
|rhp_notimprovements\ =\ 0;\l\
|rhp_crossings.43_5\ =\ rhp_crossings;\l\
|rhp_start_crossings.44_6\ =\ rhp_start_crossings;\l\
|rhp_log\ (\"%s():\ setting\ initial\ edge\ crossings\ is\ %li\ %li\\n\",\ &__func__,\ rhp_start_crossings.44_6,\ rhp_crossings.43_5);\l\
|_7\ =\ rhp_initial_crossings\ ();\l\
|rhp_crossings\ =\ _7;\l\
|rhp_crossings.45_8\ =\ rhp_crossings;\l\
|rhp_start_crossings.46_9\ =\ rhp_start_crossings;\l\
|rhp_log\ (\"%s():\ configured\ initial\ edge\ crossings\ is\ %li\ %li\\n\",\ &__func__,\ rhp_start_crossings.46_9,\ rhp_crossings.45_8);\l\
|rhp_order_init\ ();\l\
|rhp_start_crossings.47_10\ =\ rhp_start_crossings;\l\
|if\ (rhp_start_crossings.47_10\ !=\ 0)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_13_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|rhp_barycenter\ ();\l\
}"];

	fn_13_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|rhp_start_crossings.48_11\ =\ rhp_start_crossings;\l\
|if\ (rhp_start_crossings.48_11\ !=\ 0)\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_13_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|rhp_crossings.49_12\ =\ rhp_crossings;\l\
|_13\ =\ rhp_crossings.49_12\ *\ 100;\l\
|rhp_start_crossings.50_14\ =\ rhp_start_crossings;\l\
|redu_38\ =\ _13\ /\ rhp_start_crossings.50_14;\l\
|redu_39\ =\ 100\ -\ redu_38;\l\
goto\ \<bb\ 15\>;\ [INV]\l\
}"];

	fn_13_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|redu_37\ =\ 0;\l\
}"];

	fn_13_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|#\ redu_18\ =\ PHI\ \<redu_39(13),\ redu_37(14)\>\l\
|rhp_sorted_nodelist\ ();\l\
|rhp_start_crossings.51_15\ =\ rhp_start_crossings;\l\
|rhp_iter.52_16\ =\ rhp_iter;\l\
|rhp_crossings.53_17\ =\ rhp_crossings;\l\
|rhp_log\ (\"%s():\ end\ and\ final\ edge\ crossings\ is\ %li\ after\ %d\ iterations\ and\ started\ with\ %li\ crossings\ reducing\ edge\ crossings\ with\ %lu\ percent\\n\",\ &__func__,\ rhp_crossings.53_17,\ rhp_iter.52_16,\ rhp_start_crossings.51_15,\ redu_18);\l\
}"];

	fn_13_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|\<L14\>:\l\
|return;\l\
}"];

	fn_13_basic_block_0:s -> fn_13_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_13_basic_block_2:s -> fn_13_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_13_basic_block_3:s -> fn_13_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_3:s -> fn_13_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_4:s -> fn_13_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_13_basic_block_5:s -> fn_13_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_13_basic_block_6:s -> fn_13_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_6:s -> fn_13_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_7:s -> fn_13_basic_block_16:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_13_basic_block_8:s -> fn_13_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_8:s -> fn_13_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_9:s -> fn_13_basic_block_16:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_13_basic_block_10:s -> fn_13_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_10:s -> fn_13_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_11:s -> fn_13_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_13_basic_block_12:s -> fn_13_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_12:s -> fn_13_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_13:s -> fn_13_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_13_basic_block_14:s -> fn_13_basic_block_15:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_13_basic_block_15:s -> fn_13_basic_block_16:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_13_basic_block_16:s -> fn_13_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_13_basic_block_0:s -> fn_13_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_addedge" {
	style="dashed";
	color="black";
	label="rhp_addedge ()";
	fn_12_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_12_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_12_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_28\ =\ 0B;\l\
|spnf_29\ =\ 0B;\l\
|spnt_30\ =\ 0B;\l\
|fn_31\ =\ 0B;\l\
|tn_32\ =\ 0B;\l\
|ne_33\ =\ 0B;\l\
|edgelen_34\ =\ 0;\l\
|rhp_inited.31_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.31_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_12_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ mus\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_83\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_12_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_sp_master_node_list.32_2\ =\ rhp_sp_master_node_list;\l\
|_3\ =\ rhp_sp_has_data\ (rhp_sp_master_node_list.32_2);\l\
|if\ (_3\ ==\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_12_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ there\ are\ no\ nodes\ in\ database\ skipping\ edge\ %d-\>%d\ shouldnothappen!\\n\",\ &__func__,\ fnode_38(D),\ tnode_39(D));\l\
|_81\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_12_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|if\ (num_37(D)\ \<\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_12_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ number\ %d\ is\ below\ zero\ and\ edge\ skipped\ shouldnothappen!\\n\",\ &__func__,\ num_37(D));\l\
|_79\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_12_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|if\ (fnode_38(D)\ \<\ 0)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_12_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_log\ (\"%s():\ from\ node\ number\ %d\ is\ below\ zero\ and\ edge\ skipped\ shouldnothappen!\\n\",\ &__func__,\ fnode_38(D));\l\
|_77\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_12_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|if\ (tnode_39(D)\ \<\ 0)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_12_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|rhp_log\ (\"%s():\ to\ node\ number\ %d\ is\ below\ zero\ and\ edge\ skipped\ shouldnothappen!\\n\",\ &__func__,\ tnode_39(D));\l\
|_75\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_12_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|_4\ =\ (long\ long\ int)\ num_37(D);\l\
|rhp_sp_master_edge_list.33_5\ =\ rhp_sp_master_edge_list;\l\
|spn_41\ =\ rhp_sp_lookup\ (rhp_sp_master_edge_list.33_5,\ _4);\l\
|if\ (spn_41\ !=\ 0B)\l\
\ \ goto\ \<bb\ 13\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 14\>;\ [INV]\l\
}"];

	fn_12_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|rhp_log\ (\"%s():\ edge\ number\ %d\ does\ already\ exists\ from\ %d-\>%d\ and\ skipped\ shouldnothappen!\\n\",\ &__func__,\ num_37(D),\ fnode_38(D),\ tnode_39(D));\l\
|_73\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_12_basic_block_14 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 14\>:\l\
|_6\ =\ (long\ long\ int)\ fnode_38(D);\l\
|rhp_sp_master_node_list.34_7\ =\ rhp_sp_master_node_list;\l\
|spnf_43\ =\ rhp_sp_lookup\ (rhp_sp_master_node_list.34_7,\ _6);\l\
|if\ (spnf_43\ ==\ 0B)\l\
\ \ goto\ \<bb\ 15\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 16\>;\ [INV]\l\
}"];

	fn_12_basic_block_15 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 15\>:\l\
|rhp_log\ (\"%s():\ from\ node\ %d\ is\ not\ in\ database\ in\ edge\ from\ %d-\>%d\ and\ skipped\ shouldnothappen!\\n\",\ &__func__,\ fnode_38(D),\ fnode_38(D),\ tnode_39(D));\l\
|_71\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_12_basic_block_16 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 16\>:\l\
|_8\ =\ spnf_43-\>value;\l\
|fn_44\ =\ (struct\ rhpnode\ *)\ _8;\l\
|_9\ =\ (long\ long\ int)\ tnode_39(D);\l\
|rhp_sp_master_node_list.35_10\ =\ rhp_sp_master_node_list;\l\
|spnt_46\ =\ rhp_sp_lookup\ (rhp_sp_master_node_list.35_10,\ _9);\l\
|if\ (spnt_46\ ==\ 0B)\l\
\ \ goto\ \<bb\ 17\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 18\>;\ [INV]\l\
}"];

	fn_12_basic_block_17 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 17\>:\l\
|rhp_log\ (\"%s():\ to\ node\ %d\ is\ not\ in\ database\ in\ edge\ from\ %d-\>%d\ and\ skipped\ shouldnothappen!\\n\",\ &__func__,\ tnode_39(D),\ fnode_38(D),\ tnode_39(D));\l\
|_69\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_12_basic_block_18 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 18\>:\l\
|_11\ =\ spnt_46-\>value;\l\
|tn_47\ =\ (struct\ rhpnode\ *)\ _11;\l\
|_12\ =\ tn_47-\>level;\l\
|_13\ =\ fn_44-\>level;\l\
|edgelen_48\ =\ _12\ -\ _13;\l\
|if\ (edgelen_48\ !=\ 1)\l\
\ \ goto\ \<bb\ 19\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 20\>;\ [INV]\l\
}"];

	fn_12_basic_block_19 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 19\>:\l\
|_14\ =\ tn_47-\>level;\l\
|_15\ =\ fn_44-\>level;\l\
|rhp_log\ (\"%s():\ edge\ len\ is\ %d\ at\ %d-\>%d\ from\ level\ %d-\>%d\ and\ should\ be\ 1\ shouldnothappen!\\n\",\ &__func__,\ edgelen_48,\ fnode_38(D),\ tnode_39(D),\ _15,\ _14);\l\
|_67\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_12_basic_block_20 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 20\>:\l\
|_16\ =\ tn_47-\>level;\l\
|_17\ =\ fn_44-\>level;\l\
|if\ (_16\ \<\ _17)\l\
\ \ goto\ \<bb\ 21\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 22\>;\ [INV]\l\
}"];

	fn_12_basic_block_21 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 21\>:\l\
|_18\ =\ tn_47-\>level;\l\
|_19\ =\ fn_44-\>level;\l\
|rhp_log\ (\"%s():\ edge\ len\ %d\ at\ %d-\>%d\ from\ level\ %d-\>%d\ should\ be\ downward\ shouldnothappen!\\n\",\ &__func__,\ edgelen_48,\ fnode_38(D),\ tnode_39(D),\ _19,\ _18);\l\
|_65\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 23\>;\ [INV]\l\
}"];

	fn_12_basic_block_22 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 22\>:\l\
|ne_50\ =\ rhp_malloc\ (56,\ &__func__,\ 947);\l\
|rhp_uniq_edgenum.36_20\ =\ rhp_uniq_edgenum;\l\
|ne_50-\>num\ =\ rhp_uniq_edgenum.36_20;\l\
|rhp_uniq_edgenum.37_21\ =\ rhp_uniq_edgenum;\l\
|_22\ =\ rhp_uniq_edgenum.37_21\ +\ 1;\l\
|rhp_uniq_edgenum\ =\ _22;\l\
|ne_50-\>innum\ =\ num_37(D);\l\
|ne_50-\>fn\ =\ fn_44;\l\
|ne_50-\>tn\ =\ tn_47;\l\
|ne_50-\>data\ =\ data_56(D);\l\
|ne_50-\>up_node\ =\ tn_47;\l\
|ne_50-\>down_node\ =\ fn_44;\l\
|ne_50-\>crossings\ =\ 0;\l\
|ne.38_23\ =\ (long\ long\ int)\ ne_50;\l\
|_24\ =\ (long\ long\ int)\ num_37(D);\l\
|rhp_sp_master_edge_list.39_25\ =\ rhp_sp_master_edge_list;\l\
|rhp_sp_insert\ (rhp_sp_master_edge_list.39_25,\ _24,\ ne.38_23);\l\
|rhp_log\ (\"%s():\ added\ edge\ %d\ from\ node\ %d\ to\ node\ %d\ data=%p\\n\",\ &__func__,\ num_37(D),\ fnode_38(D),\ tnode_39(D),\ data_56(D));\l\
|_63\ =\ 0;\l\
}"];

	fn_12_basic_block_23 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 23\>:\l\
|#\ _26\ =\ PHI\ \<_83(3),\ _81(5),\ _79(7),\ _77(9),\ _75(11),\ _73(13),\ _71(15),\ _69(17),\ _67(19),\ _65(21),\ _63(22)\>\l\
|\<L20\>:\l\
|return\ _26;\l\
}"];

	fn_12_basic_block_0:s -> fn_12_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_2:s -> fn_12_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_2:s -> fn_12_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_3:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_4:s -> fn_12_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_4:s -> fn_12_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_5:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_6:s -> fn_12_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_6:s -> fn_12_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_7:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_8:s -> fn_12_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_8:s -> fn_12_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_9:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_10:s -> fn_12_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_10:s -> fn_12_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_11:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_12:s -> fn_12_basic_block_13:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_12:s -> fn_12_basic_block_14:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_13:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_14:s -> fn_12_basic_block_15:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_14:s -> fn_12_basic_block_16:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_15:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_16:s -> fn_12_basic_block_17:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_16:s -> fn_12_basic_block_18:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_17:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_18:s -> fn_12_basic_block_19:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_18:s -> fn_12_basic_block_20:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_19:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_20:s -> fn_12_basic_block_21:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_20:s -> fn_12_basic_block_22:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_21:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_22:s -> fn_12_basic_block_23:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_12_basic_block_23:s -> fn_12_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_12_basic_block_0:s -> fn_12_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_addnode" {
	style="dashed";
	color="black";
	label="rhp_addnode ()";
	fn_11_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_11_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_11_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|spn_17\ =\ 0B;\l\
|nn_18\ =\ 0B;\l\
|rhp_inited.22_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.22_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_11_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ mus\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|_44\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_11_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|if\ (num_20(D)\ \<\ 0)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_11_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_log\ (\"%s():\ number\ %d\ is\ below\ zero\ and\ node\ skipped\ shouldnothappen!\\n\",\ &__func__,\ num_20(D));\l\
|_42\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_11_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|if\ (level_21(D)\ \<\ 0)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
}"];

	fn_11_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_log\ (\"%s():\ level\ %d\ is\ below\ zero\ and\ node\ skipped\ shouldnothappen!\\n\",\ &__func__,\ level_21(D));\l\
|_40\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_11_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|_2\ =\ (long\ long\ int)\ num_20(D);\l\
|rhp_sp_master_node_list.23_3\ =\ rhp_sp_master_node_list;\l\
|spn_23\ =\ rhp_sp_lookup\ (rhp_sp_master_node_list.23_3,\ _2);\l\
|if\ (spn_23\ !=\ 0B)\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_11_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_log\ (\"%s():\ node\ number\ %d\ already\ existed,\ skipped\ this\ add\ shouldnothappen!\\n\",\ &__func__,\ num_20(D));\l\
|_38\ =\ 1;\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_11_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|nn_25\ =\ rhp_malloc\ (80,\ &__func__,\ 831);\l\
|rhp_uniq_nodenum.24_4\ =\ rhp_uniq_nodenum;\l\
|nn_25-\>num\ =\ rhp_uniq_nodenum.24_4;\l\
|rhp_uniq_nodenum.25_5\ =\ rhp_uniq_nodenum;\l\
|_6\ =\ rhp_uniq_nodenum.25_5\ +\ 1;\l\
|rhp_uniq_nodenum\ =\ _6;\l\
|nn_25-\>innum\ =\ num_20(D);\l\
|nn_25-\>level\ =\ level_21(D);\l\
|nn_25-\>data\ =\ data_30(D);\l\
|nn.26_7\ =\ (long\ long\ int)\ nn_25;\l\
|_8\ =\ (long\ long\ int)\ num_20(D);\l\
|rhp_sp_master_node_list.27_9\ =\ rhp_sp_master_node_list;\l\
|rhp_sp_insert\ (rhp_sp_master_node_list.27_9,\ _8,\ nn.26_7);\l\
|rhp_maxlevel.28_10\ =\ rhp_maxlevel;\l\
|if\ (level_21(D)\ \>=\ rhp_maxlevel.28_10)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_11_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|rhp_maxlevel\ =\ level_21(D);\l\
|rhp_maxlevel.29_11\ =\ rhp_maxlevel;\l\
|_12\ =\ rhp_maxlevel.29_11\ +\ 1;\l\
|rhp_nlevels\ =\ _12;\l\
}"];

	fn_11_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|rhp_maxlevel.30_13\ =\ rhp_maxlevel;\l\
|rhp_log\ (\"%s():\ added\ node\ %d\ level\ %d\ data=%p\ now\ maxlevel=%d\\n\",\ &__func__,\ num_20(D),\ level_21(D),\ data_30(D),\ rhp_maxlevel.30_13);\l\
|_36\ =\ 0;\l\
}"];

	fn_11_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|#\ _14\ =\ PHI\ \<_44(3),\ _42(5),\ _40(7),\ _38(9),\ _36(12)\>\l\
|\<L10\>:\l\
|return\ _14;\l\
}"];

	fn_11_basic_block_0:s -> fn_11_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_11_basic_block_2:s -> fn_11_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_2:s -> fn_11_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_3:s -> fn_11_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_11_basic_block_4:s -> fn_11_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_4:s -> fn_11_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_5:s -> fn_11_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_11_basic_block_6:s -> fn_11_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_6:s -> fn_11_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_7:s -> fn_11_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_11_basic_block_8:s -> fn_11_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_8:s -> fn_11_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_9:s -> fn_11_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_11_basic_block_10:s -> fn_11_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_10:s -> fn_11_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_11:s -> fn_11_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_11_basic_block_12:s -> fn_11_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_11_basic_block_13:s -> fn_11_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_11_basic_block_0:s -> fn_11_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_deinit" {
	style="dashed";
	color="black";
	label="rhp_deinit ()";
	fn_10_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_10_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_10_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|rhp_inited.4_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.4_1\ ==\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_10_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ first\ rhp_init()\ must\ be\ done\ shouldnothappen!\\n\",\ &__func__);\l\
|//\ predicted\ unlikely\ by\ early\ return\ (on\ trees)\ predictor.\l\
goto\ \<bb\ 13\>;\ [INV]\l\
}"];

	fn_10_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_log\ (\"%s():\\n\",\ &__func__);\l\
|rhp_empty_best_crossings_order\ ();\l\
|rhp_empty_sp_layers\ ();\l\
|rhp_empty_sp_between_layers\ ();\l\
|rhp_empty_sp_master_node_list\ ();\l\
|rhp_empty_sp_master_edge_list\ ();\l\
|rhp_sp_layers.5_2\ =\ rhp_sp_layers;\l\
|_3\ =\ rhp_sp_delete\ (rhp_sp_layers.5_2);\l\
|rhp_sp_layers\ =\ _3;\l\
|rhp_best_crossings_order.6_4\ =\ rhp_best_crossings_order;\l\
|if\ (rhp_best_crossings_order.6_4\ !=\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
}"];

	fn_10_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|rhp_best_crossings_order.7_5\ =\ rhp_best_crossings_order;\l\
|_6\ =\ rhp_free\ (rhp_best_crossings_order.7_5,\ &__func__,\ 732);\l\
|rhp_best_crossings_order\ =\ _6;\l\
}"];

	fn_10_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|rhp_sp_master_node_list.8_7\ =\ rhp_sp_master_node_list;\l\
|_8\ =\ rhp_sp_delete\ (rhp_sp_master_node_list.8_7);\l\
|rhp_sp_master_node_list\ =\ _8;\l\
|rhp_sp_master_edge_list.9_9\ =\ rhp_sp_master_edge_list;\l\
|_10\ =\ rhp_sp_delete\ (rhp_sp_master_edge_list.9_9);\l\
|rhp_sp_master_edge_list\ =\ _10;\l\
|rhp_sp_master_node_list_sorted.10_11\ =\ rhp_sp_master_node_list_sorted;\l\
|_12\ =\ rhp_sp_delete\ (rhp_sp_master_node_list_sorted.10_11);\l\
|rhp_sp_master_node_list_sorted\ =\ _12;\l\
|rhp_sp_between_layers.11_13\ =\ rhp_sp_between_layers;\l\
|_14\ =\ rhp_sp_delete\ (rhp_sp_between_layers.11_13);\l\
|rhp_sp_between_layers\ =\ _14;\l\
|rhp_uniq_nodenum\ =\ 0;\l\
|rhp_uniq_edgenum\ =\ 0;\l\
|rhp_number_of_nodes\ =\ 0;\l\
|rhp_number_of_edges\ =\ 0;\l\
|rhp_number_of_isolated_nodes\ =\ 0;\l\
|rhp_maxlevel\ =\ 0;\l\
|rhp_nlevels\ =\ 0;\l\
|rhp_crossings\ =\ -1;\l\
|rhp_start_crossings\ =\ -1;\l\
|rhp_getlayoutdata\ =\ 0B;\l\
|rhp_improvements\ =\ 0;\l\
|rhp_notimprovements\ =\ 0;\l\
|rhp_n_malloc.12_15\ =\ rhp_n_malloc;\l\
|rhp_n_free.13_16\ =\ rhp_n_free;\l\
|if\ (rhp_n_malloc.12_15\ !=\ rhp_n_free.13_16)\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_10_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|rhp_dolog.14_17\ =\ rhp_dolog;\l\
|if\ (rhp_dolog.14_17\ \>\ 1)\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_10_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|rhp_n_malloc.15_18\ =\ rhp_n_malloc;\l\
|rhp_n_free.16_19\ =\ rhp_n_free;\l\
|_20\ =\ rhp_n_malloc.15_18\ -\ rhp_n_free.16_19;\l\
|rhp_n_free.17_21\ =\ rhp_n_free;\l\
|rhp_n_malloc.18_22\ =\ rhp_n_malloc;\l\
|rhp_log\ (\"%s():\ done\ %lu\ malloc\ and\ %lu\ free\ and\ delta\ is\ %li\ shouldnothappen!\\n\",\ &__func__,\ rhp_n_malloc.18_22,\ rhp_n_free.17_21,\ _20);\l\
}"];

	fn_10_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_n_malloc\ =\ 0;\l\
|rhp_n_free\ =\ 0;\l\
|rhp_dolog.19_23\ =\ rhp_dolog;\l\
|if\ (rhp_dolog.19_23\ !=\ 0)\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_10_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|rhp_log\ (\"%s():\ closing\ logfile\\n\",\ &__func__);\l\
|rhp_logname.20_24\ =\ rhp_logname;\l\
|if\ (rhp_logname.20_24\ !=\ 0B)\l\
\ \ goto\ \<bb\ 11\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 12\>;\ [INV]\l\
}"];

	fn_10_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|rhp_logstream.21_25\ =\ rhp_logstream;\l\
|fclose\ (rhp_logstream.21_25);\l\
|rhp_logname\ =\ 0B;\l\
}"];

	fn_10_basic_block_12 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 12\>:\l\
|rhp_dolog\ =\ 0;\l\
|rhp_inited\ =\ 0;\l\
}"];

	fn_10_basic_block_13 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 13\>:\l\
|\<L12\>:\l\
|return;\l\
}"];

	fn_10_basic_block_0:s -> fn_10_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_10_basic_block_2:s -> fn_10_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_2:s -> fn_10_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_3:s -> fn_10_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_10_basic_block_4:s -> fn_10_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_4:s -> fn_10_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_5:s -> fn_10_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_10_basic_block_6:s -> fn_10_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_6:s -> fn_10_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_7:s -> fn_10_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_7:s -> fn_10_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_8:s -> fn_10_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_10_basic_block_9:s -> fn_10_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_9:s -> fn_10_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_10:s -> fn_10_basic_block_11:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_10:s -> fn_10_basic_block_12:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_11:s -> fn_10_basic_block_12:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_10_basic_block_12:s -> fn_10_basic_block_13:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_10_basic_block_13:s -> fn_10_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_10_basic_block_0:s -> fn_10_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_init" {
	style="dashed";
	color="black";
	label="rhp_init ()";
	fn_9_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_9_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_9_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|rhp_inited.0_1\ =\ rhp_inited;\l\
|if\ (rhp_inited.0_1\ !=\ 0)\l\
\ \ goto\ \<bb\ 3\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
}"];

	fn_9_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|rhp_log\ (\"%s():\ rhp_deinit()\ not\ done\ and\ doing\ it\ now\ shouldnothappen!\\n\",\ &__func__);\l\
|rhp_deinit\ ();\l\
}"];

	fn_9_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|rhp_logstream\ =\ 0B;\l\
|rhp_dolog\ =\ 0;\l\
|rhp_logname\ =\ 0B;\l\
|if\ (logname_19(D)\ !=\ 0B)\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 10\>;\ [INV]\l\
}"];

	fn_9_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
|_2\ =\ MEM[(const\ char\ *)logname_19(D)];\l\
|if\ (_2\ ==\ 0)\l\
\ \ goto\ \<bb\ 6\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 7\>;\ [INV]\l\
}"];

	fn_9_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|stdout.1_3\ =\ stdout;\l\
|rhp_logstream\ =\ stdout.1_3;\l\
goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_9_basic_block_7 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 7\>:\l\
|_4\ =\ fopen\ (logname_19(D),\ \"wb\");\l\
|rhp_logstream\ =\ _4;\l\
|rhp_logstream.2_5\ =\ rhp_logstream;\l\
|if\ (rhp_logstream.2_5\ ==\ 0B)\l\
\ \ goto\ \<bb\ 8\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 9\>;\ [INV]\l\
}"];

	fn_9_basic_block_8 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 8\>:\l\
|stdout.3_6\ =\ stdout;\l\
|rhp_logstream\ =\ stdout.3_6;\l\
}"];

	fn_9_basic_block_9 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 9\>:\l\
|rhp_dolog\ =\ loglevel_24(D);\l\
|rhp_log\ (\"%s():\ starting\ logfile!\\n\",\ &__func__);\l\
}"];

	fn_9_basic_block_10 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 10\>:\l\
|_7\ =\ rhp_sp_new\ (1);\l\
|rhp_sp_master_node_list\ =\ _7;\l\
|_8\ =\ rhp_sp_new\ (1);\l\
|rhp_sp_master_edge_list\ =\ _8;\l\
|rhp_uniq_nodenum\ =\ 0;\l\
|rhp_uniq_edgenum\ =\ 0;\l\
|rhp_number_of_nodes\ =\ 0;\l\
|rhp_number_of_edges\ =\ 0;\l\
|rhp_number_of_isolated_nodes\ =\ 0;\l\
|_9\ =\ rhp_sp_new\ (1);\l\
|rhp_sp_between_layers\ =\ _9;\l\
|rhp_maxlevel\ =\ 0;\l\
|rhp_nlevels\ =\ 0;\l\
|rhp_crossings\ =\ -1;\l\
|rhp_start_crossings\ =\ -1;\l\
|rhp_best_crossings_order\ =\ 0B;\l\
|rhp_getlayoutdata\ =\ 0B;\l\
|rhp_improvements\ =\ 0;\l\
|rhp_notimprovements\ =\ 0;\l\
|rhp_log\ (\"%s():\ sizeof\ (int)\ is\ %d\ bytes\ (expect\ 4)\\n\",\ &__func__,\ 4);\l\
|rhp_log\ (\"%s():\ sizeof\ (long\ long)\ is\ %d\ bytes\ (expect\ 8)\\n\",\ &__func__,\ 8);\l\
|rhp_log\ (\"%s():\ sizeof\ (int64_t)\ is\ %d\ bytes\ (expect\ 8)\\n\",\ &__func__,\ 8);\l\
|rhp_log\ (\"%s():\ sizeof\ (intptr_t)\ is\ %d\ bytes\ (expect\ 8)\\n\",\ &__func__,\ 8);\l\
|rhp_log\ (\"%s():\ sizeof\ (struct\ rhp_spn)\ is\ %d\ bytes\\n\",\ &__func__,\ 32);\l\
|rhp_log\ (\"%s():\ sizeof\ (struct\ rhp_sp)\ is\ %d\ bytes\\n\",\ &__func__,\ 16);\l\
|rhp_log\ (\"%s():\ sizeof\ (struct\ rhpnode)\ is\ %d\ bytes\\n\",\ &__func__,\ 80);\l\
|rhp_log\ (\"%s():\ sizeof\ (struct\ rhpedge)\ is\ %d\ bytes\\n\",\ &__func__,\ 56);\l\
|rhp_log\ (\"%s():\ sizeof\ (struct\ rhplevel)\ is\ %d\ bytes\\n\",\ &__func__,\ 16);\l\
|rhp_log\ (\"%s():\ sizeof\ (struct\ rhp_inter_layer_struct)\ is\ %d\ bytes\\n\",\ &__func__,\ 24);\l\
|rhp_log\ (\"%s():\ sizeof\ (struct\ rhp_order_struct)\ is\ %d\ bytes\\n\",\ &__func__,\ 24);\l\
|rhp_inited\ =\ 1;\l\
}"];

	fn_9_basic_block_11 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 11\>:\l\
|\<L9\>:\l\
|return;\l\
}"];

	fn_9_basic_block_0:s -> fn_9_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_9_basic_block_2:s -> fn_9_basic_block_3:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_9_basic_block_2:s -> fn_9_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_9_basic_block_3:s -> fn_9_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_9_basic_block_4:s -> fn_9_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_9_basic_block_4:s -> fn_9_basic_block_10:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_9_basic_block_5:s -> fn_9_basic_block_6:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_9_basic_block_5:s -> fn_9_basic_block_7:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_9_basic_block_6:s -> fn_9_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_9_basic_block_7:s -> fn_9_basic_block_8:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_9_basic_block_7:s -> fn_9_basic_block_9:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_9_basic_block_8:s -> fn_9_basic_block_9:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_9_basic_block_9:s -> fn_9_basic_block_10:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_9_basic_block_10:s -> fn_9_basic_block_11:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_9_basic_block_11:s -> fn_9_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_9_basic_block_0:s -> fn_9_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_rhp_version" {
	style="dashed";
	color="black";
	label="rhp_version ()";
	fn_8_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_8_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_8_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
|_1\ =\ \"1.6\";\l\
}"];

	fn_8_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|\<L0\>:\l\
|return\ _1;\l\
}"];

	fn_8_basic_block_0:s -> fn_8_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_8_basic_block_2:s -> fn_8_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_8_basic_block_3:s -> fn_8_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_8_basic_block_0:s -> fn_8_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_myfree" {
	style="dashed";
	color="black";
	label="myfree ()";
	fn_7_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_7_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_7_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
}"];

	fn_7_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|if\ (ptr_2(D)\ !=\ 0B)\l\
\ \ goto\ \<bb\ 4\>;\ [INV]\l\
else\l\
\ \ goto\ \<bb\ 5\>;\ [INV]\l\
}"];

	fn_7_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|free\ (ptr_2(D));\l\
}"];

	fn_7_basic_block_5 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 5\>:\l\
}"];

	fn_7_basic_block_6 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 6\>:\l\
|\<L6\>:\l\
|return;\l\
}"];

	fn_7_basic_block_0:s -> fn_7_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_7_basic_block_2:s -> fn_7_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_7_basic_block_3:s -> fn_7_basic_block_4:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_7_basic_block_3:s -> fn_7_basic_block_5:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_7_basic_block_4:s -> fn_7_basic_block_5:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_7_basic_block_5:s -> fn_7_basic_block_6:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_7_basic_block_6:s -> fn_7_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_7_basic_block_0:s -> fn_7_basic_block_1:n [style="invis",constraint=true];
}
subgraph "cluster_mymalloc" {
	style="dashed";
	color="black";
	label="mymalloc ()";
	fn_6_basic_block_0 [shape=Mdiamond,style=filled,fillcolor=white,label="ENTRY"];

	fn_6_basic_block_1 [shape=Mdiamond,style=filled,fillcolor=white,label="EXIT"];

	fn_6_basic_block_2 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 2\>:\l\
}"];

	fn_6_basic_block_3 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 3\>:\l\
|_4\ =\ calloc\ (1,\ n_2(D));\l\
}"];

	fn_6_basic_block_4 [shape=record,style=filled,fillcolor=lightgrey,label="{\<bb\ 4\>:\l\
|\<L4\>:\l\
|return\ _4;\l\
}"];

	fn_6_basic_block_0:s -> fn_6_basic_block_2:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_6_basic_block_2:s -> fn_6_basic_block_3:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_6_basic_block_3:s -> fn_6_basic_block_4:n [style="solid,bold",color=blue,weight=100,constraint=true];
	fn_6_basic_block_4:s -> fn_6_basic_block_1:n [style="solid,bold",color=black,weight=10,constraint=true];
	fn_6_basic_block_0:s -> fn_6_basic_block_1:n [style="invis",constraint=true];
}
}
